<?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>156588</bug_id>
          
          <creation_ts>2016-04-14 13:13:15 -0700</creation_ts>
          <short_desc>Add svn:eol-style=LF to LayoutTests/ietestcenter/Javascript/TestCases/ files.</short_desc>
          <delta_ts>2016-04-14 16:00:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>ap</cc>
    
    <cc>ggaren</cc>
    
    <cc>lforschler</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1183805</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-04-14 13:13:15 -0700</bug_when>
    <thetext>These files are currently using CRs in their eols.  As a result, the EWS bots will always fail to apply a patch if the patch touches one these files.  Adding svn:eol-style=LF to them should resolve the issue.

Note: this patch will touch 1306 files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183813</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-04-14 13:34:38 -0700</bug_when>
    <thetext>&lt;rdar://problem/25731973&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183821</commentid>
    <comment_count>2</comment_count>
      <attachid>276419</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-04-14 13:37:55 -0700</bug_when>
    <thetext>Created attachment 276419
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183825</commentid>
    <comment_count>3</comment_count>
      <attachid>276419</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-04-14 13:41:53 -0700</bug_when>
    <thetext>Comment on attachment 276419
proposed patch.

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183914</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-04-14 15:50:32 -0700</bug_when>
    <thetext>Since the EWS bot is unreliable, I ran the ietestcenter section of the layout tests locally, and so no regressions.  I&apos;m going to land this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183920</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-04-14 16:00:19 -0700</bug_when>
    <thetext>Landed in r199564: &lt;http://trac.webkit.org/r199564&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276419</attachid>
            <date>2016-04-14 13:37:55 -0700</date>
            <delta_ts>2016-04-14 13:41:53 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-156588.patch</filename>
            <type>text/plain</type>
            <size>6700258</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSw1ICsxLDQzNDMgQEAKIDIwMTYtMDQtMTQgIE1hcmsgTGFtICA8bWFy
ay5sYW1AYXBwbGUuY29tPgogCisgICAgICAgIEFkZCBzdm46ZW9sLXN0eWxlPUxGIHRvIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8gZmlsZXMuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTY1ODgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGVzZSBmaWxlcyBhcmUg
Y3VycmVudGx5IHVzaW5nIENScyBpbiB0aGVpciBlb2xzLiAgQXMgYSByZXN1bHQsIHRoZSBFV1Mg
Ym90cworICAgICAgICB3aWxsIGFsd2F5cyBmYWlsIHRvIGFwcGx5IGEgcGF0Y2ggaWYgdGhlIHBh
dGNoIHRvdWNoZXMgb25lIHRoZXNlIGZpbGVzLiAgQWRkaW5nCisgICAgICAgIHN2bjplb2wtc3R5
bGU9TEYgdG8gdGhlbSBzaG91bGQgcmVzb2x2ZSB0aGUgaXNzdWUuCisKKyAgICAgICAgU3BlY2lm
aWNhbGx5LCBJIHJhbiB0aGUgZm9sbG93aW5nIGNvbW1hbmQ6CisgICAgICAgICQgc3ZuIHByb3Bz
ZXQgc3ZuOmVvbC1zdHlsZSBMRiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvKgorCisgICAgICAgIE5vdGU6IHRoaXMgcGF0Y2ggd2lsbCB0b3VjaCAxMzA2IGZp
bGVzIChub3QgaW5jbHVkaW5nIHRoaXMgQ2hhbmdlTG9nKS4KKworICAgICAgICAqIGlldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMC40LjItMS0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEwLjQuMi0xLTIuanM6
IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTAuNC4yLTEtMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xMC40LjItMS00LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0
eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgICog
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEwLjQuMi0xLTUuanM6IEFkZGVkIHBy
b3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTAuNC4y
LTItYy0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5yZXR1cm4uaW5uZXIpOgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzEwLjYtMTAtYy1paS0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46
ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2Fz
ZS5mb28pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAg
ICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEwLjYtMTAtYy1paS0yLmpzOiBB
ZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEw
LjYtMTItMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xMC42LTEyLTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzEwLjYtMTMtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMC42LTUtMS5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTAuNi02LTEuanM6
IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRp
dGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEwLjYt
Ni0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5w
cmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xMC42LTYtMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xMC42LTYtNC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAqIGll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4xLjQtMC5qczogQWRkZWQgcHJvcGVy
dHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qp
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4xLjUtMC0x
LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzExLjEuNS0wLTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuMS41XzQtNC1hLTIuanM6IEFkZGVkIHByb3BlcnR5
IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuMS41XzQtNC1h
LTMuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTEuMS41XzQtNC1iLTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjEuNV80LTQtYi0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4xLjVfNC00LWMtMS5qczogQWRk
ZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9u
KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuMS41XzQt
NC1jLTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzExLjEuNV80LTQtZC0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xMS4xLjVfNC00LWQtMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuMS41XzQtNC1kLTMuanM6IEFkZGVkIHBy
b3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjEuNV80LTQtZC00
LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVj
b25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
MS4xLjVfNS00LTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzExLjEuNV82LTMtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuMS41XzYtMy0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46
ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4xLjVfNy0zLTEuanM6IEFkZGVkIHBy
b3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjEuNV83LTMtMi5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEu
MTMuMS0xLTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTEuMTMuMS0xLTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5
bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuMTMuMS0xLTMuanM6IEFkZGVkIHBy
b3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuMTMu
MS0xLTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTEuMTMuMS00LTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS0wLTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wt
c3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAg
KiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTItMS5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40
LjEtMi0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzExLjQuMS0yLTMuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKiBpZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTItNC5qczogQWRkZWQgcHJvcGVydHkg
c3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgor
ICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtMi01Lmpz
OiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzExLjQuMS0yLTYuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTMtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtMy0yLmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEx
LjQuMS0zLTMuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTQuYS0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0
eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtNC5hLTEwLmpzOiBBZGRlZCBwcm9wZXJ0
eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6
CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS00LmEt
MTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTEuNC4xLTQuYS0xMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAqIGlldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtNC5hLTEzLmpzOiBBZGRlZCBwcm9wZXJ0
eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAg
ICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtNC5hLTE0LmpzOiBB
ZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzExLjQuMS00LmEtMTUuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTQuYS0xNi5qczogQWRkZWQgcHJvcGVydHkgc3Zu
OmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAg
ICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtNC5hLTE3Lmpz
OiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzExLjQuMS00LmEtMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZ2V0dGVyKToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS00LmEtMy5qczogQWRkZWQgcHJvcGVy
dHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qp
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAg
ICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTQuYS00LmpzOiBB
ZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzExLjQuMS00LmEtNS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAqIGlldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtNC5hLTYuanM6IEFkZGVkIHByb3BlcnR5IHN2bjpl
b2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAg
ICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTQuYS03LmpzOiBB
ZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzExLjQuMS00LmEtOC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAqIGlldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtNC5hLTkuanM6IEFkZGVkIHByb3BlcnR5IHN2bjpl
b2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAg
ICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTUtMS5qczogQWRk
ZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QpOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
MS40LjEtNS0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzExLjQuMS01LTMuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKiBpZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMTAtMC0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0
Y2FzZS5mKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xMC0wLTEwLmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdC50ZXN0Y2FzZS5mLmlubmVyZik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0LnRlc3RjYXNlLmYpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEyLjEw
LTAtMTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmYuaW5uZXJmKToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZik6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTIuMTAtMC0xMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZi5pbm5lcmYpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5mKToKKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xMC0wLTMuanM6IEFkZGVkIHByb3BlcnR5IHN2bjpl
b2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNl
LndpdGguZik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAg
ICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMTAtMC03LmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEy
LjEwLTAtOC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xMi4xMC0wLTkuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmYuaW5uZXJm
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZik6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKiBpZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMTAtMi0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEyLjEwLTItMi5qczog
QWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QpOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xMi4xMC0yLTMuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMTAtNy0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0
eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgICog
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEyLjE0LTEuanM6IEFkZGVkIHByb3Bl
cnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMTQtMTAu
anM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmYuaW5uZXJmKToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTIuMTQtMTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmYuaW5uZXJmKToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZik6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTIuMTQtMTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmYuaW5uZXJm
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZik6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKiBpZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMTQtMTMuanM6IEFkZGVkIHByb3BlcnR5IHN2
bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3Rj
YXNlLmZvbyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAg
ICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMTQtMi5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QudGVzdGNhc2UuY2FwdHVyZWRGb28pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzEyLjE0LTMuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTIuMTQtNC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAqIGlldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xNC01LmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0
Y2FzZS5vLmZvbyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3Rj
YXNlLmNhdGNoLmZvbyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMTQtNi5qczog
QWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QudGVzdGNhc2Uuby5mb28pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdC50ZXN0Y2FzZS5jYXRjaC5mb28pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzEyLjE0LTcuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMTQtOC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAqIGll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xNC05LmpzOiBBZGRlZCBwcm9wZXJ0
eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50
ZXN0Y2FzZS5mLmlubmVyZik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
LnRlc3RjYXNlLmYpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEyLjIuMS0xMS5qczog
QWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QpOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xMi4yLjEtMTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTAuNi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAqIGll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMC43LjEtMS5qczogQWRkZWQgcHJv
cGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QpOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMC43
LjItMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4xMC43LjMtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAqIGlldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMC43LjQtMS5qczogQWRkZWQgcHJvcGVy
dHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qp
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMC43LjUt
MS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4xMi0wLTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjEyLTAtMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTItMC0zLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46
ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi0wLTQuanM6IEFkZGVkIHByb3Bl
cnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAg
ICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS0wLTEuanM6
IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRp
dGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEy
LjEuMS0wLTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjEyLjEuMS0wLTMuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS0wLTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjpl
b2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS0wLTUuanM6IEFkZGVkIHBy
b3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS0wLTYu
anM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNv
bmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjEyLjEuMS0wLTcuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjEyLjEuMS0wLTguanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS0wLTkuanM6IEFkZGVkIHByb3BlcnR5IHN2
bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICog
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nMS0xLmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEt
ZzEtMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
cHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMTIuMS4xLWcxLTMuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nMS00LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9s
LXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtZzItMS5qczogQWRkZWQgcHJv
cGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAg
ICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMS4xLWcyLTIu
anM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNv
bmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjEyLjEuMS1nMi0zLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4xMi4xLjEtZzItNC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMS4xLWcyLTUuanM6IEFkZGVkIHByb3BlcnR5
IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToK
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAg
ICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nNC0xLmpzOiBB
ZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRp
b24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4x
LjEtZzQtMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMTIuMS4xLWc0LTMuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nNC00LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46
ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtZzUtMS5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMS4xLWc1
LTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnBy
ZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjEyLjEuMS1nNS0zLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtZzYtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1z
dHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMS4xLWc2LTIuanM6IEFkZGVkIHByb3Bl
cnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAg
ICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nNi0zLmpz
OiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25k
aXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4x
Mi4xLjEtZzYtNC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMTIuMS4xLWc2LTUuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nNi02LmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtZzYtNy5qczogQWRk
ZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9u
KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMi0w
LTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnBy
ZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjEyLjItMC0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4xMi4yLTAtMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0wLTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjpl
b2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtMC0yLmpzOiBBZGRlZCBwcm9w
ZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAg
ICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTAtMy5qczog
QWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0
aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIu
My0xMS0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4xMi4zLTExLTEwLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTExLTExLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9s
LXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZSk6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtMTEtMTIuanM6IEFkZGVkIHByb3BlcnR5IHN2
bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICog
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtMTEtMTMuanM6IEFkZGVk
IHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6
CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtMTEt
MTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnBy
ZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjEyLjMtMTEtMTUuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjEyLjMtMTEtMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0xMS0zLmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTExLTQuanM6IEFkZGVk
IHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6
CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtMTEt
NS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJl
Y29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMTIuMy0xMS02LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC5wcmVjb2RpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjEyLjMtMTEtNy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0xMS04LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46
ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTExLTkuanM6IEFkZGVkIHBy
b3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtNC0xLmpz
OiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25k
aXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4x
Mi4zLTUtYS1pLTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjEyLjMtNS1iLWktMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy02LWEtMS5qczogQWRkZWQgcHJvcGVydHkg
c3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAg
KiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy02LWEtMi5qczogQWRk
ZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9u
KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy02
LWItMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
cHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMTIuMy02LWItMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy02LWItMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1z
dHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy02LWItNC5qczogQWRkZWQgcHJvcGVy
dHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qp
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAg
ICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy03LWEtMS5qczog
QWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0
aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIu
My04LWEtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMTIuMy04LWEtMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy04LWEtMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy04LWEtNC5qczogQWRkZWQgcHJv
cGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAg
ICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy04LWEtNS5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
MTIuM18yLTItYi1pLTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLm9iai50b0pTT04pOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zXzItMi1iLWktMi5qczogQWRkZWQgcHJvcGVydHkgc3Zu
OmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNh
c2Uub2JqLnRvSlNPTik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToK
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAg
ICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjNfMi0yLWItaS0zLmpz
OiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QudGVzdC50ZXN0Y2FzZS5vYmoudG9KU09OKToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJl
Y29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMTIuM18yLTMtYS0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4xMi4zXzItMy1hLTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wt
c3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjNfMi0zLWEtMy5qczogQWRkZWQgcHJv
cGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAg
ICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuM180LTEtMS5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
MTIuM180LTEtMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMTIuM180LTEtMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wt
c3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMC0wLTEuanM6IEFkZGVkIHByb3Bl
cnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEw
LTAtMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
cHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjEwLTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4xMC0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxl
LgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtMC0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS0wLTIu
anM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNv
bmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4xMS0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMTEtNC0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC0xMC5qczogQWRkZWQgcHJvcGVydHkgc3Zu
OmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtMTEuanM6IEFkZGVk
IHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6
CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS00
LTEyLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5w
cmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuMTEtNC0xMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtMTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wt
c3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTE1LmpzOiBBZGRlZCBwcm9w
ZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAg
ICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC0xNi5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjExLTQtMTcuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4xMS00LTE4LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxl
LgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC0xOS5qczogQWRkZWQgcHJvcGVydHkg
c3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAg
KiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtMi5qczogQWRk
ZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9u
KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEx
LTQtMjAuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4xMS00LTIxLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC0yMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtMjMuanM6IEFkZGVkIHBy
b3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTI0
LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVj
b25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMTEtNC0yNS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtMjYuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5
bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTI3LmpzOiBBZGRlZCBwcm9wZXJ0
eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAg
ICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC0zLmpzOiBB
ZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRp
b24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
MTEtNC00LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMTEtNC01LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC02LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9s
LXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC03LmpzOiBBZGRlZCBwcm9w
ZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAg
ICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC04Lmpz
OiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25k
aXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMTEtNC05LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMTItMC0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0wLTIuanM6IEFkZGVkIHByb3Bl
cnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAg
ICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0xLmpzOiBB
ZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRp
b24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
MTItMy0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMTItMy0xMC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEyLTMtMTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjpl
b2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0zLTEyLmpzOiBBZGRlZCBw
cm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgor
ICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy0x
My5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJl
Y29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjEyLTMtMTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4xMi0zLTE1LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0
eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy0xNi5qczogQWRkZWQgcHJvcGVy
dHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qp
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAg
ICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEyLTMtMTcuanM6
IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRp
dGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4xMi0zLTE4LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMTItMy0xOS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEyLTMtMi5qczogQWRkZWQgcHJvcGVydHkgc3Zu
OmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEyLTMtMjAuanM6IEFkZGVk
IHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6
CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0z
LTIxLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5w
cmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuMTItMy0yMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEyLTMtMjMuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wt
c3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0zLTI0LmpzOiBBZGRlZCBwcm9w
ZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAg
ICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy0yNS5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjEyLTMtMjYuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4xMi0zLTI3LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxl
LgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy0zLmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy00LmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTIt
My01LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5w
cmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuMTItMy02LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy03LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0
eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy04LmpzOiBBZGRlZCBwcm9wZXJ0
eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAg
ICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy05LmpzOiBB
ZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRp
b24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
MTMtMC0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4xMy0wLTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5
bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMy0wLTMuanM6IEFkZGVkIHByb3BlcnR5
IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToK
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAg
ICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMy0xLmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMt
Mi0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5w
cmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuMTMtMi0xMC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTItMTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wt
c3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMy0yLTEyLmpzOiBBZGRlZCBwcm9w
ZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAg
ICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMi0xMy5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjEzLTItMTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4xMy0yLTE1LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxl
LgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMi0xNi5qczogQWRkZWQgcHJvcGVydHkg
c3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAg
KiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTItMTcuanM6IEFk
ZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlv
bik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4x
My0yLTE4LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMTMtMi0xOS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTItMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTItMjAuanM6IEFkZGVkIHBy
b3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMy0yLTIx
LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVj
b25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMTMtMi0zLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMTMtMi00LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMi01LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46
ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMi02LmpzOiBBZGRlZCBw
cm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgor
ICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMi03
LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVj
b25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMTMtMi04LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMi05LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxl
LgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTQtMC0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xNC0wLTIu
anM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNv
bmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4xNC0xLTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4xNC0xLTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xNC0xLTMuanM6IEFkZGVkIHByb3BlcnR5IHN2
bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICog
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xNC0xLTQuanM6IEFkZGVk
IHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6
CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xNC0x
LTUuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnBy
ZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4xNC0yLTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4xNC0yLTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5
bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xNC0yLTMuanM6IEFkZGVkIHByb3BlcnR5
IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRl
c3RjYXNlLkFycmF5KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAg
KiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjE0LTItNC5qczogQWRk
ZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9u
KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjE0
LTItNS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
cHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjE0LTItNi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjE0LTMtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1z
dHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjE0LTMtMi5qczogQWRkZWQgcHJvcGVy
dHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qu
dGVzdGNhc2UuZm9vKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAg
KiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjE0LTMtMy5qczogQWRk
ZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9u
KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjE0
LTMtNC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UudGVzdEFyZ3MyKToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UudGVzdEFyZ3MzKToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UudGVzdEFyZ3M0KToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjE0LTMtNS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjItMC0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTAtMi5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjItMC0zLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMi0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMi0yLTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wt
c3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItMTAuanM6IEFkZGVkIHByb3Bl
cnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAg
ICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItMTEuanM6
IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRp
dGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4yLTItMTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4yLTItMTMuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItMTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjpl
b2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItMTUuanM6IEFkZGVkIHBy
b3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItMTYu
anM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNv
bmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4yLTItMTcuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4yLTItMTguanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItMi5qczogQWRkZWQgcHJvcGVydHkgc3Zu
OmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNh
c2UuYmFzZSk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNl
LmRlcml2ZWQpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMi0yLTMuanM6IEFkZGVkIHBy
b3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItNC5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjItMi01LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMi0yLTYuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItNy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjItMi04LmpzOiBBZGRlZCBwcm9w
ZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAg
ICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMi0yLTkuanM6
IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRp
dGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4zLTAtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy0wLTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5
bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTEuanM6IEFkZGVkIHByb3BlcnR5IHN2
bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICog
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTItMS5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtMi0y
LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVj
b25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMy00LTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4zLTQtMTAuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTAwLmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEwMS5qczogQWRk
ZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9u
KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMt
NC0xMDIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4zLTQtMTAzLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEwNC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMDUuanM6IEFkZGVkIHBy
b3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTA2
LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVj
b25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMy00LTEwNy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMDguanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5
bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTA5LmpzOiBBZGRlZCBwcm9wZXJ0
eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAg
ICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTExLmpzOiBB
ZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRp
b24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
My00LTExMC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjMtNC0xMTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTEyLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46
ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTExMy5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0x
MTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnBy
ZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4zLTQtMTE1LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTExNi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1z
dHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMTcuanM6IEFkZGVkIHByb3Bl
cnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAg
ICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTE4Lmpz
OiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25k
aXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMy00LTExOS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMjAuanM6IEFkZGVkIHByb3BlcnR5IHN2
bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICog
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTIxLmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTEyMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
cHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjMtNC0xMjMuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTI0LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9s
LXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEyNS5qczogQWRkZWQgcHJv
cGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAg
ICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMjYu
anM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNv
bmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4zLTQtMTI3LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEyOC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMjkuanM6IEFkZGVkIHByb3BlcnR5
IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToK
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAg
ICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTMuanM6IEFk
ZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlv
bik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4z
LTQtMTMwLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMy00LTEzMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMzIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjpl
b2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTMzLmpzOiBBZGRlZCBw
cm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgor
ICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEz
NC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJl
Y29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjMtNC0xMzUuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTM2LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0
eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEzNy5qczogQWRkZWQgcHJvcGVy
dHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qp
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAg
ICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMzguanM6
IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRp
dGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4zLTQtMTM5LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMy00LTE0LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE0MC5qczogQWRkZWQgcHJvcGVydHkgc3Zu
OmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNDEuanM6IEFkZGVk
IHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6
CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQt
MTQyLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5w
cmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuMy00LTE0My5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNDQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wt
c3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTQ1LmpzOiBBZGRlZCBwcm9w
ZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAg
ICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE0Ni5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjMtNC0xNDcuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4zLTQtMTQ4LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxl
LgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE0OS5qczogQWRkZWQgcHJvcGVydHkg
c3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAg
KiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNS5qczogQWRk
ZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9u
KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMt
NC0xNTAuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4zLTQtMTUxLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE1Mi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNTMuanM6IEFkZGVkIHBy
b3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTU0
LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVj
b25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMy00LTE1NS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNTYuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5
bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTU3LmpzOiBBZGRlZCBwcm9wZXJ0
eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAg
ICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE1OC5qczog
QWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0
aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4z
LjMtNC0xNTkuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4zLTQtMTYuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTYwLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46
ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE2MS5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0x
NjIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnBy
ZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4zLTQtMTYzLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE2NC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1z
dHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNjUuanM6IEFkZGVkIHByb3Bl
cnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAg
ICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTY2Lmpz
OiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25k
aXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMy00LTE2Ny5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNjguanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTY5LmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE3LmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTE3MC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
cHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjMtNC0xNzEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTcyLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9s
LXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE3My5qczogQWRkZWQgcHJv
cGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAg
ICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNzQu
anM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNv
bmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4zLTQtMTc1LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE3Ni5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNzcuanM6IEFkZGVkIHByb3BlcnR5
IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToK
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAg
ICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTc4LmpzOiBB
ZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRp
b24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
My00LTE3OS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjMtNC0xOC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xODAuanM6IEFkZGVkIHByb3BlcnR5IHN2bjpl
b2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTgyLmpzOiBBZGRlZCBw
cm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgor
ICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE4
NS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJl
Y29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjMtNC0xODYuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTg3LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0
eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE4OC5qczogQWRkZWQgcHJvcGVy
dHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qp
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAg
ICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xODkuanM6
IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRp
dGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4zLTQtMTkuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4zLTQtMTkwLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE5MS5qczogQWRkZWQgcHJvcGVydHkgc3Zu
OmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xOTIuanM6IEFkZGVk
IHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6
CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQt
MTkzLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5w
cmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuMy00LTE5NC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xOTUuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wt
c3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTk2LmpzOiBBZGRlZCBwcm9w
ZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAg
ICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE5Ny5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjMtNC0xOTguanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4zLTQtMTk5LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxl
LgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIuanM6IEFkZGVkIHByb3BlcnR5IHN2
bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICog
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjAuanM6IEFkZGVk
IHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6
CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQt
MjAwLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5w
cmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuMy00LTIwMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yMDIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wt
c3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjAzLmpzOiBBZGRlZCBwcm9w
ZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAg
ICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIwNC5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjMtNC0yMDUuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4zLTQtMjA2LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxl
LgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIwNy5qczogQWRkZWQgcHJvcGVydHkg
c3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAg
KiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yMDguanM6IEFk
ZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlv
bik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4z
LTQtMjA5LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMy00LTIxLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIxMC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yMTEuanM6IEFkZGVkIHBy
b3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjEy
LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVj
b25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMy00LTIxMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yMTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5
bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjE1LmpzOiBBZGRlZCBwcm9wZXJ0
eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAg
ICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIxNi5qczog
QWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0
aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4z
LjMtNC0yMTcuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4zLTQtMjE4LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIxOS5qczogQWRkZWQgcHJvcGVydHkgc3Zu
OmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yMi5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0y
MjAuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnBy
ZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4zLTQtMjIxLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIyMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1z
dHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yMy5qczogQWRkZWQgcHJvcGVy
dHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qp
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAg
ICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yNC5qczog
QWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0
aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4z
LjMtNC0yNS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjMtNC0yNi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yNy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yOC5qczogQWRkZWQgcHJv
cGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAg
ICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yOS5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjMtNC0zLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5nZXR0ZXIpOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0zMC5qczogQWRkZWQgcHJvcGVydHkg
c3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAg
KiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0zMS5qczogQWRk
ZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9u
KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMt
NC0zMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
cHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjMtNC0zMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0zNC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1z
dHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0zNS5qczogQWRkZWQgcHJvcGVy
dHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qp
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAg
ICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0zNi5qczog
QWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0
aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4z
LjMtNC0zNy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjMtNC0zOC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0zOS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC00LmpzOiBBZGRlZCBwcm9w
ZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAg
ICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTQwLmpz
OiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25k
aXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMy00LTQxLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMy00LTQyLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTQzLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46
ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTQ0LmpzOiBBZGRlZCBw
cm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgor
ICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTQ1
LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVj
b25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMy00LTQ2LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTQ3LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxl
LgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTQ4LmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTQ5LmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTUuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnBy
ZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4zLTQtNTAuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5
bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNTIuanM6IEFkZGVkIHByb3BlcnR5
IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToK
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAg
ICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNTMuanM6IEFk
ZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlv
bik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4z
LTQtNTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4zLTQtNTUuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNTYuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wt
c3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNTcuanM6IEFkZGVkIHByb3Bl
cnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAg
ICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNTguanM6
IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRp
dGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4zLTQtNTkuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4zLTQtNi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC02MC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC02MS5qczogQWRkZWQgcHJv
cGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAg
ICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC02Mi5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjMtNC02My5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjMtNC02NC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC02NS5qczogQWRkZWQgcHJvcGVydHkgc3Zu
OmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC02Ni5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC02
Ny5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJl
Y29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjMtNC02OC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC02OS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC03LmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTcwLmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTcxLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5w
cmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuMy00LTcyLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTczLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0
eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTc0LmpzOiBBZGRlZCBwcm9wZXJ0
eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAg
ICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTc1LmpzOiBB
ZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRp
b24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
My00LTc2LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMy00LTc3LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTc4LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9s
LXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTc5LmpzOiBBZGRlZCBwcm9w
ZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAg
ICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTguanM6
IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRp
dGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4zLTQtODAuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4zLTQtODEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtODIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjpl
b2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtODQuanM6IEFkZGVkIHBy
b3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtODUu
anM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNv
bmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4zLTQtODYuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4zLTQtODguanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtODkuanM6IEFkZGVkIHByb3BlcnR5IHN2
bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICog
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtOS5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC05
MC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJl
Y29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjMtNC05MS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC05Mi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC05My5qczogQWRkZWQgcHJvcGVydHkg
c3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAg
KiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC05NC5qczogQWRk
ZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9u
KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMt
NC05Ni5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
cHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjMtNC05Ny5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC05OC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1z
dHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC05OS5qczogQWRkZWQgcHJvcGVy
dHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qp
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAg
ICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjQtMC0xLmpzOiBB
ZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy40LTAtMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjQtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjQtNC0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46
ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNC00LWItMS5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjUtMC0x
LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy41LTAtMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjUtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1z
dHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjUtMi0xLmpzOiBBZGRlZCBwcm9wZXJ0
eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50
ZXN0Y2FzZS5iYXNlKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAg
KiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjUtMy0xLmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdC50ZXN0Y2FzZS5iYXNlKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjUtNC0x
LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5iYXNlKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjYtMC0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy42LTAtMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1z
dHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjYtMS5qczogQWRkZWQgcHJvcGVydHkg
c3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAg
KiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjYtMy0xLmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdC50ZXN0Y2FzZS5nZXR0ZXIpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdC50ZXN0Y2FzZS5kZXNjLmdldCBnZXR0ZXIpOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVj
b25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuNi0zLTEwLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5kZXNjLnNldCBzZXR0ZXIpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNi0zLTExLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46
ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2Fz
ZS5kZXNjLnNldCBzZXR0ZXIpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAg
ICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNi0zLTEyLmpz
OiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QudGVzdC50ZXN0Y2FzZS5kZXNjLnNldCBzZXR0ZXIpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuNi0zLTEzLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5kZXNjLnNldCBzZXR0
ZXIpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNi0zLTE0LmpzOiBBZGRlZCBwcm9wZXJ0
eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50
ZXN0Y2FzZS5kZXNjLnNldCBzZXR0ZXIpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNi0z
LTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmdldHRlcik6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmRlc2MuZ2V0IGdldHRlcik6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy42LTMtMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2Uuc2V0dGVyKToK
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZGVzYy5zZXQg
c2V0dGVyKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjYtMy00LmpzOiBBZGRlZCBwcm9w
ZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dC50ZXN0Y2FzZS5zZXR0ZXIpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dC50ZXN0Y2FzZS5kZXNjLnNldCBzZXR0ZXIpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRp
b24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
Ni0zLTUuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmRlc2MuZ2V0IGdldHRlcik6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy42LTMtNi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZGVzYy5n
ZXQgZ2V0dGVyKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjYtMy03LmpzOiBBZGRlZCBw
cm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdC50ZXN0Y2FzZS5kZXNjLmdldCBnZXR0ZXIpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25k
aXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuNi0zLTguanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmRlc2MuZ2V0IGdldHRlcik6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy42LTMtOS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1z
dHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZGVz
Yy5nZXQgZ2V0dGVyKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAg
KiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjYtNC0xLmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNi00
LTUuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLnNhbWVEYXRhRGVzY3JpcHRvclZhbHVlcyk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy42LTQtNi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2Uu
c2FtZUFjY2Vzc29yRGVzY3JpcHRvclZhbHVlcyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0LnRlc3RjYXNlLmRlc2MpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjctMC0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy43LTAtMi5qczogQWRkZWQgcHJvcGVy
dHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qp
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAg
ICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjctMS5qczogQWRk
ZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9u
KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjgt
MC0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy44LTAtMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjgtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjktMC0xLmpzOiBBZGRlZCBwcm9w
ZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy45
LTAtMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
cHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjktMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMy4yLjEtMTEtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAqIGll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjIuMS0xMS0zLmpzOiBBZGRlZCBw
cm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMu
Mi4xLTExLTUuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMy4zLjItMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMy40LjUtMC0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTAtMi5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
My40LjUtMTMuYi0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4zLjQuNS0xMy5iLTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTEzLmItMy5qczogQWRkZWQgcHJvcGVydHkgc3Zu
OmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNh
c2UuZm9vKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMy40LjUtMTMuYi00LmpzOiBBZGRlZCBw
cm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAg
ICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS0xMy5iLTUu
anM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRp
dGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMu
NC41LTE1LTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjMuNC41LTE1LTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjMuNC41LTE2LTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5
bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTItMS5qczogQWRkZWQgcHJvcGVydHkgc3Zu
OmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNh
c2UuZm9vKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMy40LjUtMi0yLmpzOiBBZGRlZCBwcm9w
ZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAg
ICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS0yLTMuanM6IEFk
ZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlv
bik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41
LTItNC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
cHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMy40LjUtMi01LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS0yLTYuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5
bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTItNy5qczogQWRkZWQgcHJvcGVydHkg
c3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAg
KiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMy40LjUtMi04LmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS0y
LTkuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnBy
ZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjMuNC41LTgtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZm9vKToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMy40LjUtOC0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS05LTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wt
c3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZv
byk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTktMi5qczogQWRkZWQgcHJvcGVydHkg
c3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVz
dGNhc2UuZm9vKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC4zLjItMC0xLmpzOiBBZGRlZCBw
cm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
My4yLTAtMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC4zLjItMC0zLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjMuMi0wLTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wt
c3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuMy4yLTAtNS5qczogQWRkZWQgcHJvcGVy
dHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qp
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAg
ICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC4zLjItMC02LmpzOiBB
ZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRp
b24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjMu
Mi0wLTcuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNC0wLTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTAtMi5qczogQWRkZWQgcHJvcGVydHkg
c3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAg
KiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTEtMTAuanM6IEFk
ZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlv
bik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NC0xLTExLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTQtMS0xMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTEtMTMuanM6IEFkZGVkIHByb3BlcnR5IHN2bjpl
b2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0xLTE0LmpzOiBBZGRlZCBw
cm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgor
ICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMS0x
NS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJl
Y29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE0LTEtMTYuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNC0xLTE4LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0
eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMS0zLmpzOiBBZGRlZCBwcm9wZXJ0
eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAg
ICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMS00LmpzOiBB
ZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRp
b24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTQtMS01LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTQtMS02LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMS03LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9s
LXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMS04LmpzOiBBZGRlZCBwcm9w
ZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAg
ICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMS05Lmpz
OiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25k
aXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTQtMTAtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE0LTEwLTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLik6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmdldCB2YXIpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9s
LXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi0xMC5qczogQWRkZWQgcHJv
cGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QudGVzdGNhc2UuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVz
dGNhc2UuZ2V0IHZhci5Db24pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dC50ZXN0Y2FzZS5nZXQgdmFyKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnBy
ZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNC0yLTExLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS4pOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5nZXQgdmFyLkNvbik6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi0xMi5qczogQWRkZWQgcHJv
cGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QudGVzdGNhc2UuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRp
dGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNC0yLTEzLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS50cnkuKToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UudHJ5LmdldCB2YXIpOgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTItMTQuanM6IEFkZGVkIHByb3Bl
cnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
LnRlc3RjYXNlLik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3Rj
YXNlLnNldCB2YXIuQ29uKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNv
bmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNC0yLTE1LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi0xNy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTItMTguanM6IEFkZGVkIHByb3BlcnR5
IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRl
c3RjYXNlLmZ1bmMpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi0xOS5qczogQWRk
ZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9u
KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0
LTItMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
cHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE0LTItMjAuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTMuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wt
c3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLkNv
bik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTQuanM6IEFkZGVkIHByb3BlcnR5
IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToK
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAg
ICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTUuanM6IEFk
ZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0LnRlc3RjYXNlLik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0LnRlc3RjYXNlLmdldCB2YXIuQ29uKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNC0yLTYuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLnRyeS4pOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTItNy5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QudGVzdGNhc2UuQ29uKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAg
ICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTItOC5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QudGVzdGNhc2UuZ2V0IE9iamVjdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi05LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxl
LgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5Db24pOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS4pOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtMS5qczogQWRkZWQgcHJv
cGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAg
ICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtMTAu
anM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNv
bmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNC0zLTExLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0xMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtMTMuanM6IEFkZGVkIHByb3BlcnR5
IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToK
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAg
ICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0zLTE0LmpzOiBB
ZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRp
b24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTQtMy0xNS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE0LTMtMTYuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0zLTE3LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46
ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0xOC5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMt
MTkuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLm9iai5sZW5ndGgudG9TdHJpbmcpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0
eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0yMC5qczogQWRkZWQgcHJvcGVy
dHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qu
dGVzdGNhc2Uub2JqLmxlbmd0aC52YWx1ZU9mKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0
aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE0LTMtMjEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLm9iai5sZW5ndGgudG9TdHJpbmcpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5vYmoubGVuZ3Ro
LnZhbHVlT2YpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0yMi5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QudGVzdGNhc2Uub2JqLmxlbmd0aC50b1N0cmluZyk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLm9iai5sZW5ndGgudmFsdWVPZik6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNC0zLTIzLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0
eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5wcm90
by52YWx1ZU9mKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNh
c2UuQ29uKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2Uu
Y2hpbGQudG9TdHJpbmcpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAg
ICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0yNC5qczog
QWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0
aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE0LTMtMjUuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNC0zLTI4LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0yOS5qczogQWRkZWQgcHJvcGVydHkgc3Zu
OmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtMy5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMt
NC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJl
Y29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE0LTMtNS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtNi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtNy5qczogQWRkZWQgcHJvcGVydHkg
c3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAg
KiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtOC5qczogQWRk
ZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9u
KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0
LTMtOS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
cHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE0LTQtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTQtMTAuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wt
c3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC00LTExLmpzOiBBZGRlZCBwcm9w
ZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAg
ICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNC0xMi5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE0LTQtMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE0LTQtMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTQtNC5qczogQWRkZWQgcHJvcGVydHkgc3Zu
OmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTQtNS5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTQt
Ni5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuaS5BcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxs
Lik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC00LTcuanM6IEFkZGVkIHByb3BlcnR5
IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRl
c3RjYXNlLmkuQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbC4pOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTQtNC04LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNC05LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9s
LXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS0xLmpzOiBBZGRlZCBwcm9w
ZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAg
ICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS0xMC5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE0LTUtMTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNC01LTEyLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxl
LgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS0xMy5qczogQWRkZWQgcHJvcGVydHkg
c3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAg
KiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtMTQuanM6IEFk
ZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlv
bik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NC01LTE1LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTQtNS0xNi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtMTcuanM6IEFkZGVkIHByb3BlcnR5IHN2bjpl
b2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTE4LmpzOiBBZGRlZCBw
cm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgor
ICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS0x
OS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJl
Y29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE0LTUtMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtMjAuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5
bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTIxLmpzOiBBZGRlZCBwcm9wZXJ0
eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50
ZXN0Y2FzZS5mcm9tSW5kZXgudG9TdHJpbmcpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRp
b24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTQtNS0yMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZnJvbUluZGV4LnZhbHVlT2YpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS0yMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2Uu
ZnJvbUluZGV4LnRvU3RyaW5nKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QudGVzdGNhc2UuZnJvbUluZGV4LnZhbHVlT2YpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25k
aXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTQtNS0yNC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZnJvbUluZGV4LnRvU3RyaW5nKToK
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZnJvbUluZGV4
LnZhbHVlT2YpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS0yNS5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QudGVzdGNhc2UucHJvdG8udmFsdWVPZik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0LnRlc3RjYXNlLkNvbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0LnRlc3RjYXNlLmNoaWxkLnRvU3RyaW5nKToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJl
Y29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE0LTUtMjguanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZyb21JbmRleC52YWx1ZU9m
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtMjkuanM6IEFkZGVkIHByb3BlcnR5
IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRl
c3RjYXNlLik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNl
LmdldCB2YXIuZnJvbUluZGV4LnZhbHVlT2YpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdC50ZXN0Y2FzZS5nZXQgdmFyKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0
aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE0LTUtMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE0LTUtMzAuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLik6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmdldCB2YXIuZnJvbUluZGV4
LnZhbHVlT2YpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2Fz
ZS5nZXQgdmFyKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtMzEuanM6IEFkZGVk
IHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6
CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01
LTMyLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5w
cmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTQtNS0zMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtNC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1z
dHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtNS5qczogQWRkZWQgcHJvcGVy
dHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qp
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAg
ICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtNi5qczog
QWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0
aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE0LTUtNy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE0LTUtOC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtOS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTYtMS5qczogQWRkZWQgcHJv
cGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAg
ICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTctMS5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE0LTctMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE0LTctMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTctNC5qczogQWRkZWQgcHJvcGVydHkgc3Zu
OmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTctNS5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTct
Ny5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJl
Y29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE0LTgtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE0LTgtMTAuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5
bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC04LTIuanM6IEFkZGVkIHByb3BlcnR5
IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToK
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAg
ICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC04LTMuanM6IEFk
ZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlv
bik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NC04LTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNC04LTguanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC04LTkuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wt
c3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LTEuanM6IEFkZGVkIHByb3Bl
cnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
LnRlc3RjYXNlLm9iai50b1N0cmluZyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6
CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05
LTEwLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS4pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25k
aXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTQtOS0xMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuKToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjpl
b2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNl
Lm9iai50b1N0cmluZyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToK
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAg
ICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LTMuanM6IEFk
ZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0LnRlc3RjYXNlLm9iai50b1N0cmluZyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNv
bmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNC05LTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLm9iai50b1N0cmluZyk6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LTUuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wt
c3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLm9i
ajEudG9TdHJpbmcpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0
Y2FzZS5vYmoyLnRvU3RyaW5nKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QudGVzdGNhc2UuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAg
KiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktNi5qczogQWRk
ZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QudGVzdGNhc2Uub2JqLnRvU3RyaW5nKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE0LTktNy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE0LTktOC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktOS5qczogQWRkZWQgcHJvcGVydHkgc3Zu
OmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYS0xLmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdC50ZXN0Y2FzZS4pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJl
Y29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE0LTktYS0xMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuKToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZ2V0IE9iamVjdCk6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1hLTEyLmpzOiBBZGRlZCBw
cm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdC50ZXN0Y2FzZS4pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50
ZXN0Y2FzZS5nZXQgT2JqZWN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnBy
ZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNC05LWEtMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UudGFyZ2V0T2JqKToKKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZnJvbUluZGV4LnZh
bHVlT2YpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1hLTMuanM6IEFkZGVkIHBy
b3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0LnRlc3RjYXNlLnRhcmdldE9iaik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0LnRlc3RjYXNlLmZyb21JbmRleC52YWx1ZU9mKToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJl
Y29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE0LTktYS00LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS4pOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYS01LmpzOiBBZGRlZCBwcm9wZXJ0
eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50
ZXN0Y2FzZS5mcm9tSW5kZXgudmFsdWVPZik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlv
bik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NC05LWEtNi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZnJvbUluZGV4LnZhbHVlT2YpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjpl
b2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItNS5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QudGVzdGNhc2UuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qu
dGVzdGNhc2UuZ2V0IHRyeSk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAg
ICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaS0x
LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVj
b25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTQtOS1iLWktMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYi1pLTI0LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46
ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWktMjUuanM6IEFk
ZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0LnRlc3RjYXNlLmZ1bmMpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQt
OS1iLWktMjYuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZ1bmMpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTQtOS1iLWktMjcuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZ1bmMpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWktMy5qczogQWRkZWQgcHJvcGVydHkg
c3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAg
KiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYi1pLTQuanM6
IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRp
dGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNC05LWItaS01LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS50cnkuKToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaS02LmpzOiBBZGRlZCBwcm9w
ZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dC50ZXN0Y2FzZS50cnkuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qu
dGVzdGNhc2UudHJ5LmdldCByZXR1cm4pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQt
OS1iLWktNy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE0LTktYi1pLTguanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaWktMS5qczogQWRkZWQgcHJvcGVy
dHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qp
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAg
ICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYi1paS0x
MC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJl
Y29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE0LTktYi1paS0xMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYi1paS0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWlpLTMuanM6
IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRp
dGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNC05LWItaWktNC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYi1paS01LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9s
LXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWlpLTYuanM6IEFkZGVk
IHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6
CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05
LWItaWktNy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE0LTktYi1paS04LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxl
LgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWlpLTkuanM6IEFkZGVkIHByb3Bl
cnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAg
ICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaWlp
LTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnBy
ZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNC05LWItaWlpLTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLik6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmdldCBPYmplY3QpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTAtMS5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTUtMC0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTUtMS0xMC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTEtMTEuanM6IEFkZGVkIHByb3BlcnR5IHN2
bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICog
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0xLTEyLmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUt
MS0xMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
cHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE1LTEtMTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0xLTE1LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9s
LXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMS0xNi5qczogQWRkZWQgcHJv
cGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAg
ICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTEtMy5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE1LTEtNC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE1LTEtNS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTEtNi5qczogQWRkZWQgcHJvcGVydHkgc3Zu
OmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTEtNy5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTEt
OC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJl
Y29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE1LTEtOS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE1LTItMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTItMTAuanM6IEFkZGVkIHByb3BlcnR5
IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRl
c3RjYXNlLik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNl
LmdldCB2YXIuQ29uKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVz
dGNhc2UuZ2V0IHZhcik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25k
aXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTUtMi0xMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuKToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZ2V0IHZhci5Db24pOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTItMTIuanM6IEFkZGVkIHByb3BlcnR5
IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRl
c3RjYXNlLik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUt
Mi0xMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UudHJ5Lik6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLnRyeS5nZXQgdmFyKToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0yLTE0LmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0
Y2FzZS4pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5z
ZXQgdmFyLkNvbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRp
b24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTUtMi0xNS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE1LTItMTcuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0yLTE4LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46
ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2Fz
ZS50YXJnZXRPYmopOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0
Y2FzZS5hcmd1bWVudHMuMik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
LnRlc3RjYXNlLmZ1bmMpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAg
ICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMi0xOS5qczog
QWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0
aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE1LTItMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE1LTItMjAuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0yLTMuanM6IEFkZGVkIHByb3BlcnR5IHN2bjpl
b2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNl
LkNvbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0yLTQuanM6IEFkZGVkIHByb3Bl
cnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAg
ICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0yLTUuanM6
IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0LnRlc3RjYXNlLik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0LnRlc3RjYXNlLmdldCB2YXIuQ29uKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNS0yLTYuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLnRyeS4pOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAg
KiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTItNy5qczogQWRk
ZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QudGVzdGNhc2UuQ29uKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTIt
OC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNS0yLTkuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLkNvbik6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLik6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy0xLmpzOiBBZGRlZCBwcm9w
ZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAg
ICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy0xMC5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE1LTMtMTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNS0zLTEyLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxl
LgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy0xMy5qczogQWRkZWQgcHJvcGVydHkg
c3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAg
KiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTMtMTQuanM6IEFk
ZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlv
bik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NS0zLTE1LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTUtMy0xNi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTMtMTcuanM6IEFkZGVkIHByb3BlcnR5IHN2bjpl
b2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTE4LmpzOiBBZGRlZCBw
cm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgor
ICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy0x
OS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2Uub2JqLmxlbmd0aC50b1N0cmluZyk6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5
bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTIwLmpzOiBBZGRlZCBwcm9wZXJ0
eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50
ZXN0Y2FzZS5vYmoubGVuZ3RoLnZhbHVlT2YpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRp
b24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTUtMy0yMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2Uub2JqLmxlbmd0aC50b1N0cmluZyk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLm9iai5sZW5ndGgu
dmFsdWVPZik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTIyLmpzOiBBZGRlZCBw
cm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdC50ZXN0Y2FzZS5vYmoubGVuZ3RoLnRvU3RyaW5nKToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2Uub2JqLmxlbmd0aC52YWx1ZU9mKToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE1LTMtMjMuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5
bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLnByb3Rv
LnZhbHVlT2YpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2Fz
ZS5Db24pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5j
aGlsZC50b1N0cmluZyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToK
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAg
ICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTI0LmpzOiBB
ZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRp
b24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTUtMy0yNS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE1LTMtMjYuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTI3LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46
ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy0yOC5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTMt
MjkuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnBy
ZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNS0zLTMuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5
bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTUuanM6IEFkZGVkIHByb3BlcnR5
IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToK
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAg
ICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTYuanM6IEFk
ZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlv
bik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NS0zLTcuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNS0zLTguanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTkuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wt
c3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS00LTEuanM6IEFkZGVkIHByb3Bl
cnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAg
ICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS00LTEwLmpz
OiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25k
aXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTUtNC0xMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE1LTQtMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTQtMy5qczogQWRkZWQgcHJvcGVydHkgc3Zu
OmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTQtNC5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QudGVzdGNhc2UuZm9vKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAg
ICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTQtNS5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE1LTQtNi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuaS5BcnJheS5wcm90b3R5cGUubGFz
dEluZGV4T2YuY2FsbC4pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAg
ICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNC03LmpzOiBB
ZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdC50ZXN0Y2FzZS5vLnRvU3RyaW5nKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QudGVzdGNhc2UuaS5BcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbC4p
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNC04LmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNC05LmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUt
NS0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5w
cmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTUtNS0xMC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wt
c3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTEyLmpzOiBBZGRlZCBwcm9w
ZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAg
ICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0xMy5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE1LTUtMTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNS01LTE1LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxl
LgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0xNi5qczogQWRkZWQgcHJvcGVydHkg
c3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAg
KiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMTcuanM6IEFk
ZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlv
bik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NS01LTE4LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTUtNS0xOS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMjAuanM6IEFkZGVkIHBy
b3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTIx
LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5mcm9tSW5kZXgudG9TdHJpbmcpOgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0yMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZnJvbUlu
ZGV4LnZhbHVlT2YpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0
Y2FzZS50YXJnZXRPYmopOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAg
ICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0yMy5qczog
QWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QudGVzdGNhc2UuZnJvbUluZGV4LnRvU3RyaW5nKToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZnJvbUluZGV4LnZhbHVlT2YpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0yNC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2Uu
ZnJvbUluZGV4LnRvU3RyaW5nKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QudGVzdGNhc2UuZnJvbUluZGV4LnZhbHVlT2YpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25k
aXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTUtNS0yNS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UucHJvdG8udmFsdWVPZik6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLkNvbik6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNoaWxkLnRvU3RyaW5nKToK
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMjguanM6IEFkZGVkIHByb3BlcnR5IHN2
bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3Rj
YXNlLmZyb21JbmRleC52YWx1ZU9mKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUt
MjkuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0LnRlc3RjYXNlLmdldCB2YXIuZnJvbUluZGV4LnZhbHVlT2YpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5nZXQgdmFyKToKKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1z
dHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMzAuanM6IEFkZGVkIHByb3Bl
cnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
LnRlc3RjYXNlLik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3Rj
YXNlLmdldCB2YXIuZnJvbUluZGV4LnZhbHVlT2YpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QudGVzdC50ZXN0Y2FzZS5nZXQgdmFyKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE1LTUtMzEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNS01LTMyLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxl
LgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0zMy5qczogQWRkZWQgcHJvcGVydHkg
c3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAg
KiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtNC5qczogQWRk
ZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9u
KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1
LTUtNS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
cHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE1LTUtNi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtNy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1z
dHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtOC5qczogQWRkZWQgcHJvcGVy
dHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qp
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAg
ICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtOS5qczog
QWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0
aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE1LTYtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE1LTYtMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTYtMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTYtNC5qczogQWRkZWQgcHJv
cGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAg
ICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTYtNS5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE1LTYtNi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE1LTctMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTctMi5qczogQWRkZWQgcHJvcGVydHkgc3Zu
OmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTctMy5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTct
NC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJl
Y29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE1LTgtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2Uub2JqLnRvU3RyaW5nKToKKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtMTAuanM6IEFkZGVkIHByb3BlcnR5IHN2bjpl
b2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNl
Lik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LTExLmpzOiBBZGRlZCBwcm9wZXJ0
eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50
ZXN0Y2FzZS4pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9u
KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1
LTgtMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2Uub2JqLnRvU3RyaW5nKToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE1LTgtMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2Uub2JqLnRvU3Ry
aW5nKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtNC5qczogQWRkZWQgcHJvcGVy
dHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qu
dGVzdGNhc2Uub2JqLnRvU3RyaW5nKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgt
NS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2Uub2JqMS50b1N0cmluZyk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLm9iajIudG9TdHJpbmcpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS4pOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTUtOC02LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5vYmoudG9TdHJp
bmcpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC03LmpzOiBBZGRlZCBwcm9wZXJ0
eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAg
ICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC04LmpzOiBB
ZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRp
b24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTUtOC05LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTUtOC1hLTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLik6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1hLTExLmpzOiBBZGRlZCBw
cm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdC50ZXN0Y2FzZS4pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50
ZXN0Y2FzZS5nZXQgT2JqZWN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnBy
ZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNS04LWEtMTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLik6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmdldCBPYmplY3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYS0yLmpzOiBBZGRlZCBw
cm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdC50ZXN0Y2FzZS50YXJnZXRPYmopOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdC50ZXN0Y2FzZS5mcm9tSW5kZXgudmFsdWVPZik6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnBy
ZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNS04LWEtMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UudGFyZ2V0T2JqKToKKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZnJvbUluZGV4LnZh
bHVlT2YpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1hLTQuanM6IEFkZGVkIHBy
b3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0LnRlc3RjYXNlLik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25k
aXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTUtOC1hLTUuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZyb21JbmRleC52YWx1ZU9mKToK
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYS02LmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0
Y2FzZS5mcm9tSW5kZXgudmFsdWVPZik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6
CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04
LWItMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
cHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE1LTgtYi1pLTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWItaS0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTUtOC1iLWktMjQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWItaS0yNS5qczogQWRkZWQgcHJvcGVydHkg
c3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVz
dGNhc2UuZnVuYyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICog
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWItaS0yNi5qczog
QWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QudGVzdGNhc2UuZnVuYyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlv
bik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NS04LWItaS0yNy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZnVuYyk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNS04LWItaS0zLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxl
LgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1iLWktNC5qczogQWRkZWQgcHJvcGVy
dHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE1LTgtYi1pLTUuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLnRyeS4pOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAg
KiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYi1pLTYuanM6
IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWItaS03LmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1iLWktOC5qczog
QWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0
aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE1LTgtYi1paS0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1iLWlpLTEwLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9s
LXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1iLWlpLTExLmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUt
OC1iLWlpLTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNS04LWItaWktMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYi1paS00LmpzOiBBZGRlZCBwcm9w
ZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAg
ICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1iLWlp
LTUuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnBy
ZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNS04LWItaWktNi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYi1paS03LmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1iLWlpLTguanM6
IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRp
dGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNS04LWItaWktOS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYi1paWktMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYi1paWktMi5qczogQWRk
ZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QudGVzdGNhc2UuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QudGVzdGNhc2UuZ2V0IE9iamVjdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTUtOS0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOS0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9s
LXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS4p
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5nZXQgdmFy
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTAtMS5qczogQWRkZWQgcHJvcGVydHkg
c3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgor
ICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtMC0y
LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVj
b25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTYtNC0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTYtNC0zLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxl
LgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtNC00LmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtNC01LmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYt
NC02LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5w
cmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTYtNC03LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtNS0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0
eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYWxs
YmFja2ZuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTUtMi5qczogQWRkZWQgcHJv
cGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6
CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi01
LTMuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNhbGxiYWNrZm4pOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTYtNS00LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYWxsYmFja2ZuKToK
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZm9vKToKKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTUtNS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2Uu
Y2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3Rj
YXNlLmZvbyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi01LTYuanM6IEFkZGVkIHBy
b3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0LnRlc3RjYXNlLmNhbGxiYWNrZm4pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgor
ICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtNy0x
LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYWxsYmFja2ZuKToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
cHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE2LTctMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi03LTMuanM6IEFkZGVkIHByb3BlcnR5IHN2bjpl
b2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNl
LmNhbGxiYWNrZm4pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtNy00LmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdC50ZXN0Y2FzZS5jYWxsYmFja2ZuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0
aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE2LTctNi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNi03LWItMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJh
Y2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi03LWMtaWktMS5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlv
bik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
Ni03LWMtaWktMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNi03LWMtaWktMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2Uu
Y2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICog
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi04LTEuanM6IEFkZGVk
IHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0LnRlc3RjYXNlLmNiKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAg
ICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTgtMTAu
anM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNiKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9u
KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2
LTgtMTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNhbGxiYWNrZm4pOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTYtOC0xMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tm
bik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi04LTEzLmpzOiBBZGRlZCBwcm9wZXJ0
eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50
ZXN0Y2FzZS5jYWxsYmFja2ZuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAg
ICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTgtMi5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZm9vKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2IpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYt
OC0zLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRp
dGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNi04LTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNiKToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJl
Y29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE2LTgtNS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZm9vKToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2IpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTYtOC02LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5vLnZhbHVlT2YpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYik6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNi04LTcuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5
bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLm8udG9TdHJp
bmcpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYik6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi04LTguanM6IEFkZGVkIHByb3BlcnR5IHN2
bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3Rj
YXNlLmZvbyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNl
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTAtMS5qczogQWRkZWQgcHJvcGVydHkg
c3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgor
ICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctMC0y
LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVj
b25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTctNC0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTctNC0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxl
LgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNC0zLmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNC00LmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTct
NC01LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5w
cmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTctNC02LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNC03LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0
eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNC04LmpzOiBBZGRlZCBwcm9wZXJ0
eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAg
ICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNC05LmpzOiBB
ZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdC50ZXN0Y2FzZS5jYik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy01LTEu
anM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNhbGxiYWNrZm4pOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5w
cmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTctNS0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYWxsYmFja2ZuKToKKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTUtMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2Uu
Y2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICog
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy01LTQuanM6IEFkZGVk
IHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0LnRlc3RjYXNlLmNhbGxiYWNrZm4pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTct
NS01LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYWxsYmFja2ZuKToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZm9vKToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
cHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE3LTUtNi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy03LTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wt
c3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNh
bGxiYWNrZm4pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNy0yLmpzOiBBZGRlZCBw
cm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdC50ZXN0Y2FzZS5jYWxsYmFja2ZuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9u
KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3
LTctMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNy03LTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNhbGxiYWNrZm4p
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNy01LmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0
Y2FzZS5jYWxsYmFja2ZuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qp
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAg
ICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTctNi5qczog
QWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNv
bmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNy03LWItMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy03LWMtaWktMS5qczogQWRkZWQgcHJvcGVydHkgc3Zu
OmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNh
c2UuY2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToK
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAg
ICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy03LWMtaWktMi5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnBy
ZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNy03LWMtaWktMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy04LTEuanM6IEFkZGVkIHByb3BlcnR5IHN2
bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3Rj
YXNlLmNiKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTgtMTAuanM6IEFkZGVkIHBy
b3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
LnRlc3RjYXNlLmNiKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAg
KiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTgtMTEuanM6IEFk
ZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0LnRlc3RjYXNlLmNhbGxiYWNrZm4pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25k
aXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTctOC0xMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNy04LTEzLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0
eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYWxs
YmFja2ZuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTgtMi5qczogQWRkZWQgcHJv
cGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QudGVzdGNhc2UuZm9vKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qu
dGVzdGNhc2UuY2IpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctOC0zLmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdC50ZXN0Y2FzZS5jYik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAg
ICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy04LTQuanM6
IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0LnRlc3RjYXNlLmNiKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTgt
NS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZm9vKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2IpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRp
b24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTctOC02LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5vLnZhbHVlT2YpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYik6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnBy
ZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNy04LTcuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLm8udG9TdHJpbmcpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYik6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNy04LTguanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlKToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE4LTAtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAqIGll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtMC0yLmpzOiBBZGRlZCBw
cm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgor
ICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtNC0x
LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVj
b25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTgtNC0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTgtNC0zLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxl
LgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtNC00LmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtNC01LmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgt
NC02LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5w
cmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTgtNC03LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtNC04LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0
eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtNS0xLmpzOiBBZGRlZCBwcm9wZXJ0
eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50
ZXN0Y2FzZS5jYWxsYmFja2ZuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAg
ICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTUtMi5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnBy
ZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xOC01LTMuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNhbGxiYWNrZm4pOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtNS00LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9s
LXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5j
YWxsYmFja2ZuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNh
c2UuZm9vKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTUtNS5qczogQWRkZWQgcHJv
cGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC01LTYu
anM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNhbGxiYWNrZm4pOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVj
b25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTgtNy0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYWxsYmFja2ZuKToKKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTctMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1z
dHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2Fs
bGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC03LTMuanM6IEFkZGVkIHBy
b3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0LnRlc3RjYXNlLmNhbGxiYWNrZm4pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgt
Ny00LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYWxsYmFja2ZuKToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE4LTctNS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC03LWItMS5qczogQWRkZWQgcHJvcGVydHkg
c3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVz
dGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAg
ICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC03LWMtaWkt
MS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xOC03LWMtaWktMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuYkNhbGxlZC5m
YWxzZS5jYWxsYmFja2ZuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qp
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAg
ICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTgtMS5qczog
QWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2IpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgt
OC0xMC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZm9vKToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2IpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25k
aXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTgtOC0xMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xOC04LTEyLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0
eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYWxs
YmFja2ZuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTgtMi5qczogQWRkZWQgcHJv
cGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QudGVzdGNhc2UuZm9vKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qu
dGVzdGNhc2UuY2IpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtOC0zLmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdC50ZXN0Y2FzZS5jYik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAg
ICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC04LTQuanM6
IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0LnRlc3RjYXNlLmNiKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTgt
NS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZm9vKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2IpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRp
b24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTgtOC02LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5vLnZhbHVlT2YpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYik6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnBy
ZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xOC04LTcuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLm8udG9TdHJpbmcpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYik6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xOC04LTguanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNiKToKKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTgtOS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1z
dHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZm9v
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2IpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTktMC0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46
ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAg
ICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS0wLTIuanM6
IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRp
dGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xOS00LTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xOS00LTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS00LTMuanM6IEFkZGVkIHByb3BlcnR5IHN2bjpl
b2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS00LTQuanM6IEFkZGVkIHBy
b3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS00LTUu
anM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNv
bmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xOS00LTYuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xOS00LTcuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS00LTguanM6IEFkZGVkIHByb3BlcnR5IHN2
bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICog
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS01LTEuanM6IEFkZGVk
IHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0LnRlc3RjYXNlLmNhbGxiYWNrZm4pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRp
b24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTktNS0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYWxsYmFja2ZuKToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE5LTUtMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tm
bik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS01LTQuanM6IEFkZGVkIHByb3BlcnR5
IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRl
c3RjYXNlLmNhbGxiYWNrZm4pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAg
ICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTktNS01LmpzOiBB
ZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdC50ZXN0Y2FzZS5jYWxsYmFja2ZuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZm9vKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0
aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE5LTUtNi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xOS01LTcuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLm8udG9TdHJpbmcpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYik6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS01LTguanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wt
c3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZv
byk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlKToKKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTgtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2Uu
Y2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICog
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS04LTIuanM6IEFkZGVk
IHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0LnRlc3RjYXNlLmNhbGxiYWNrZm4pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRp
b24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTktOC0zLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYWxsYmFja2ZuKToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE5LTgtNC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tm
bik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS04LTUuanM6IEFkZGVkIHByb3BlcnR5
IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRl
c3RjYXNlLmNhbGxiYWNrZm4pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAg
ICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTktOC02Lmpz
OiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYWxsYmFja2ZuKToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJl
Y29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE5LTgtYi0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYWxsYmFja2ZuKToKKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTgtYy1paS0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0
Y2FzZS5jYWxsYmFja2ZuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qp
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAg
ICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTgtYy1paS0y
LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5iQ2FsbGVkLmZhbHNlLmNhbGxiYWNrZm4pOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTktOC1jLWlpaS0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0
Y2FzZS5jYWxsYmFja2ZuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qp
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAg
ICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTktMS5qczog
QWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNv
bmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xOS05LTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNhbGxiYWNrZm4pOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTktOS0zLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0
eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5mb28p
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYik6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS05LTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjpl
b2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNl
LmNhbGxiYWNrZm4pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtMC0xLmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4yMC0wLTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4yMC0xMC0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxl
LgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYWxsYmFj
a2ZuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTEwLTIuanM6IEFkZGVkIHByb3Bl
cnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
LnRlc3RjYXNlLmNhbGxiYWNrZm4pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgor
ICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtMTAt
My5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZm9vKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2IpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRp
b24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MjAtMTAtNC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4yMC00LTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC00LTIuanM6IEFkZGVkIHByb3BlcnR5IHN2
bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICog
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC00LTMuanM6IEFkZGVk
IHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6
CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC00
LTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnBy
ZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4yMC00LTUuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4yMC00LTYuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5
bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC00LTcuanM6IEFkZGVkIHByb3BlcnR5
IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToK
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAg
ICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC00LTguanM6IEFk
ZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlv
bik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4y
MC01LTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNhbGxiYWNrZm4pOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMjAtNS0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYWxsYmFja2Zu
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTUtMy5qczogQWRkZWQgcHJvcGVydHkg
c3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVz
dGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAg
ICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC01LTQuanM6
IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNhbGxiYWNrZm4pOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25k
aXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMjAtNS01LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYWxsYmFja2ZuKToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZm9vKToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjIwLTUtNi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tm
bik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC02LTEuanM6IEFkZGVkIHByb3BlcnR5IHN2
bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3Rj
YXNlLmNiKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTYtMi5qczogQWRkZWQgcHJv
cGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QudGVzdGNhc2UuZm9vKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qu
dGVzdGNhc2UuY2IpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtNi0zLmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdC50ZXN0Y2FzZS5jYik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAg
ICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC02LTQuanM6
IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0LnRlc3RjYXNlLmNiKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTYt
NS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZm9vKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2IpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRp
b24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MjAtNi02LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5vLnZhbHVlT2YpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYik6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnBy
ZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4yMC02LTcuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLm8udG9TdHJpbmcpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYik6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4yMC02LTguanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlKToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjIwLTktMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJh
Y2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC05LTIuanM6IEFkZGVkIHByb3Bl
cnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
LnRlc3RjYXNlLmNhbGxiYWNrZm4pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgor
ICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtOS0z
LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYWxsYmFja2ZuKToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
cHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjIwLTktNC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC05LTUuanM6IEFkZGVkIHByb3BlcnR5IHN2bjpl
b2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNl
LmNhbGxiYWNrZm4pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtOS02LmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdC50ZXN0Y2FzZS5jYWxsYmFja2ZuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0
aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjIwLTktYi0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYWxsYmFja2ZuKToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjIwLTktYy1paS0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9s
LXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5j
YWxsYmFja2ZuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTktYy1paS0yLmpzOiBB
ZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdC50ZXN0Y2FzZS5iQ2FsbGVkLmZhbHNlLmNhbGxiYWNrZm4pOgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMjAtOS1jLWlpaS0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9s
LXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5j
YWxsYmFja2ZuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTAtMS5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMjEtMC0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMjEtMTAtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tm
bik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS0xMC0yLmpzOiBBZGRlZCBwcm9wZXJ0
eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50
ZXN0Y2FzZS5jYWxsYmFja2ZuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAg
ICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTEwLTMu
anM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNiKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9u
KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIx
LTEwLTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNiKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjIxLTEwLTUuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNhbGxiYWNrZm4pOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtMTAtNi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1z
dHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZm9v
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2IpOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtMTAtNy5qczogQWRkZWQgcHJvcGVydHkgc3Zu
OmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNh
c2UuZm9vKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2Uu
Y2IpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtMTAtOC5qczogQWRkZWQgcHJvcGVy
dHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qu
dGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS00LTEu
anM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNv
bmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4yMS00LTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4yMS00LTMuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS00LTQuanM6IEFkZGVkIHByb3BlcnR5IHN2
bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICog
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS00LTUuanM6IEFkZGVk
IHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6
CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS00
LTYuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnBy
ZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4yMS00LTcuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4yMS00LTguanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5
bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS01LTEuanM6IEFkZGVkIHByb3BlcnR5
IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRl
c3RjYXNlLmNiKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTUtMi5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QudGVzdGNhc2UuZm9vKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QudGVzdGNhc2UuY2IpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAg
ICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtNS0zLmpzOiBB
ZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdC50ZXN0Y2FzZS5jYik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS01LTQu
anM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNiKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9u
KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIx
LTUtNS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZm9vKToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2IpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25k
aXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMjEtNS02LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5vLnZhbHVlT2YpOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYik6CisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4yMS01LTcuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLm8udG9TdHJpbmcpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYik6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4yMS01LTguanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5
bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlKToKKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTctMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1z
dHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2Ip
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtNy0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0
Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2Fz
ZS5jYik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS03LTMuanM6IEFkZGVkIHByb3Bl
cnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
LnRlc3RjYXNlLmZvbyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRl
c3RjYXNlLmNiKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTctNC5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QudGVzdGNhc2UuZm9vKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QudGVzdGNhc2UuY2IpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAg
ICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtNy01LmpzOiBB
ZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdC50ZXN0Y2FzZS5jYik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS03LTYu
anM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0LnRlc3RjYXNlLm8udmFsdWVPZik6CisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNiKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0
aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjIxLTctNy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZm9vKToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2Uuby50b1N0cmluZyk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNiKToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
cHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjIxLTctOC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZm9vKToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMjEtNy05LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYik6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4yMS04LWMtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJh
Y2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS04LWMtMi5qczogQWRkZWQgcHJv
cGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6
CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS04
LWMtMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4yMS05LTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNhbGxiYWNrZm4p
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtOS0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0
Y2FzZS5jYWxsYmFja2ZuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qp
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAg
ICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTktMy5qczog
QWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNv
bmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4yMS05LTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNhbGxiYWNrZm4pOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtOS01LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0
eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYWxs
YmFja2ZuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTktNi5qczogQWRkZWQgcHJv
cGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6
CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS05
LWItMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4yMS05LWMtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4K
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tm
bik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS05LWMtaWktMS5qczogQWRkZWQgcHJv
cGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6
CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS05
LWMtaWktMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4yMS05LWMtaWktMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1z
dHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2Fs
bGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS05LWMtaWktNC5qczogQWRk
ZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRp
dGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4yMi0wLTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTAtMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1z
dHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTEwLTEuanM6IEFkZGVkIHByb3Bl
cnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
LnRlc3RjYXNlLmNhbGxiYWNrZm4pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgor
ICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItMTAt
Mi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4yMi0xMC0zLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYik6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4yMi0xMC00LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxl
LgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYik6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi0xMC01LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9s
LXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5j
YWxsYmFja2ZuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTEwLTYuanM6IEFkZGVk
IHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0LnRlc3RjYXNlLmNiKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qp
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAg
ICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTEwLTcuanM6
IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0LnRlc3RjYXNlLmNiKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToK
KyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTEw
LTguanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNhbGxiYWNrZm4pOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMjItNC0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItNC0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9s
LXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItNC0zLmpzOiBBZGRlZCBwcm9w
ZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAg
ICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItNC00Lmpz
OiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25k
aXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMjItNC01LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMjItNC02LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItNC03LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46
ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItNC04LmpzOiBBZGRlZCBw
cm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgor
ICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItNS0x
LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRp
dGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4yMi01LTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNiKToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJl
Y29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjIyLTUtMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZm9vKToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2IpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMjItNS00LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYik6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4yMi01LTUuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNiKToKKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTUtNi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1z
dHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZm9v
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2Uuby52YWx1
ZU9mKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2Ip
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItNS03LmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0
Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2Fz
ZS5vLnRvU3RyaW5nKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVz
dGNhc2UuY2IpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItNS04LmpzOiBBZGRlZCBw
cm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dC50ZXN0Y2FzZSk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICog
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi03LTEuanM6IEFkZGVk
IHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0LnRlc3RjYXNlLmNiKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAg
ICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTctMi5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZm9vKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2IpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjIt
Ny0zLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRp
dGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4yMi03LTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6CisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNiKToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJl
Y29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjIyLTctNS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuZm9vKToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2IpOgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMjItNy02LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5mb28pOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5vLnZhbHVlT2YpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYik6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4yMi03LTcuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5
bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmZvbyk6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLm8udG9TdHJp
bmcpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5jYik6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi03LTguanM6IEFkZGVkIHByb3BlcnR5IHN2
bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3Rj
YXNlLmZvbyk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNl
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTctOS5qczogQWRkZWQgcHJvcGVydHkg
c3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVz
dGNhc2UuZm9vKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNh
c2UuY2IpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItOC1jLTEuanM6IEFkZGVkIHBy
b3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0LnRlc3RjYXNlLmNhbGxiYWNrZm4pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjIt
OC1jLTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNhbGxiYWNrZm4pOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMjItOC1jLTMuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNhbGxiYWNr
Zm4pOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItOS0yLmpzOiBBZGRlZCBwcm9wZXJ0
eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50
ZXN0Y2FzZS5jYWxsYmFja2ZuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAg
ICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTktMy5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnBy
ZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4yMi05LTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0LnRlc3RjYXNlLmNhbGxiYWNrZm4pOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItOS01LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9s
LXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdC50ZXN0Y2FzZS5j
YWxsYmFja2ZuKToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTktNi5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlv
bik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4y
Mi05LWItMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4yMi05LWMtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJh
Y2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi05LWMtaWktMS5qczogQWRkZWQg
cHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlv
bik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4y
Mi05LWMtaWktMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4yMi05LWMtaWktMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QudGVzdGNhc2Uu
Y2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICog
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi05LWMtaWktNC5qczog
QWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QudGVzdGNhc2UuY2FsbGJhY2tmbik6CisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNv
bmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNS0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNS4xLTMuZC0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0
eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgICog
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNS4xLTMuZC0yLmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNS4xLTMuZC0zLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNS4xLTUtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjUuMS01LTIuanM6IEFk
ZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdC50ZXN0KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNS40LjIwLTAtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAqIGlldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtMC0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46
ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtMS0xLmpzOiBBZGRlZCBw
cm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgor
ICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtMS0y
LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVj
b25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS41LjQuMjAtMS0zLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS41LjQuMjAtMS00LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxl
LgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtMS01LmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtMS02LmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24p
OgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAt
MS03LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5w
cmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS41LjQuMjAtNC0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0xMC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1z
dHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMTEuanM6IEFkZGVkIHByb3Bl
cnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0
KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAg
ICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTEyLmpz
OiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25k
aXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41
LjQuMjAtNC0xMy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNS40LjIwLTQtMTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUu
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTE2LmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0xOC5qczogQWRk
ZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9u
KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIw
LTQtMTkuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjUuNC4yMC00LTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAg
ICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTIwLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9s
LXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0yMS5qczogQWRkZWQgcHJv
cGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRl
c3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAg
ICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMjIu
anM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNv
bmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjUuNC4yMC00LTI0LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0yNy5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHls
ZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMjguanM6IEFkZGVkIHByb3BlcnR5
IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToK
KyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAg
ICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTI5LmpzOiBB
ZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRp
b24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQu
MjAtNC0zLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS41LjQuMjAtNC0zMC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAg
ICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMzIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjpl
b2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTM0LmpzOiBBZGRlZCBw
cm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgor
ICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0z
NS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJl
Y29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNS40LjIwLTQtMzYuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAg
IChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTM3LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0
eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0zOC5qczogQWRkZWQgcHJvcGVy
dHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3Qp
OgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAg
ICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMzkuanM6
IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRp
dGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUu
NC4yMC00LTQuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjUuNC4yMC00LTQwLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC00MS5qczogQWRkZWQgcHJvcGVydHkgc3Zu
OmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBp
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtNDIuanM6IEFkZGVk
IHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6
CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00
LTQzLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5w
cmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS41LjQuMjAtNC00NC5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtNDUuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wt
c3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTQ2LmpzOiBBZGRlZCBwcm9w
ZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAg
ICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC00Ny5q
czogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29u
ZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NS40LjIwLTQtNDguanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjUuNC4yMC00LTQ5LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxl
LgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC01LmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC01MC5qczogQWRk
ZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9u
KToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIw
LTQtNTEuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjUuNC4yMC00LTUyLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAg
ICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC01My5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtNTQuanM6IEFkZGVkIHBy
b3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50
ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTU1
LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVj
b25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS41LjQuMjAtNC01Ni5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAg
KEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtNTcuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5
bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTU4LmpzOiBBZGRlZCBwcm9wZXJ0
eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6
CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAg
ICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC01OS5qczog
QWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0
aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40
LjIwLTQtNi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNS40LjIwLTQtNjAuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTguanM6IEFkZGVkIHByb3BlcnR5IHN2bjpl
b2wtc3R5bGUuCisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnByZWNvbmRpdGlvbik6CisgICAgICAgICogaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNS41LjItMS0xLmpzOiBBZGRlZCBw
cm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
dGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUu
NS41LjItMS0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjUuNS41LjItMy0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9s
LXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAg
ICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNS41LjItMy0yLmpzOiBB
ZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjUuNS41LjItMy0zLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNS41LjItMy00LmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNS41LjItMy01
LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjUuNS41LjItMy02LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgor
ICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNS41LjItMy03LmpzOiBBZGRlZCBwcm9w
ZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNS41
LjItMy04LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjUuNS41LjItNy0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0
eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgICog
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNS41LjItNy0yLmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjUuNS41LjItNy0zLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAo
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNS41LjItNy00LmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46
ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAg
ICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjcuMy0xLmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjcuMy0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS43LjMuMS0xLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS43LjMuMS0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxl
LgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6CisgICAgICAgIChFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS43LjQtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVv
bC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAg
ICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QucHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuOS40LjQtMC0xLmpzOiBBZGRlZCBwcm9w
ZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVz
dCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjkuNC40
LTAtMi5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAgICAgKEVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qu
cHJlY29uZGl0aW9uKToKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuOS41LjQzLTAtMS5qczogQWRkZWQgcHJvcGVydHkgc3ZuOmVvbC1zdHlsZS4KKyAgICAg
ICAgKEVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0LnRlc3QpOgorICAgICAgICAqIGlldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS45LjUuNDMtMC0yLmpzOiBBZGRlZCBwcm9wZXJ0eSBz
dm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRlc3QudGVzdCk6Cisg
ICAgICAgIChFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC5wcmVjb25kaXRpb24pOgorICAgICAgICAq
IGlldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS45LjUuNDQtMC0xLmpzOiBBZGRl
ZCBwcm9wZXJ0eSBzdm46ZW9sLXN0eWxlLgorICAgICAgICAoRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QudGVzdCk6CisgICAgICAgICogaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjkuNS40NC0wLTIuanM6IEFkZGVkIHByb3BlcnR5IHN2bjplb2wtc3R5bGUuCisgICAgICAgIChF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdC50ZXN0KToKKyAgICAgICAgKEVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0LnByZWNvbmRpdGlvbik6CisKKzIwMTYtMDQtMTQgIE1hcmsgTGFtICA8bWFyay5sYW1A
YXBwbGUuY29tPgorCiAgICAgICAgIFVwZGF0ZSB0cmVhdG1lbnQgb2YgaW52b2tpbmcgUmVnRXhw
LnByb3RvdHlwZSBtZXRob2RzIG9uIFJlZ0V4cC5wcm90b3R5cGUuCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU5MjIKIApJbmRleDogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEwLjQuMi0xLTEuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEw
LjQuMi0xLTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMC40LjItMS0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDM5ICsxLDM5IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4N
Ci0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gDQotDQotDQotDQotdmFyIF9fMTBfNF8yXzFfMV8xID0gInN0ciI7DQotDQot
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjEwLjQuMi0xLTEiLA0KLQ0KLXBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjEwLzEwLjQvMTAuNC4yLzEwLjQuMi0xLTEuanMiLA0KLQ0KLWRl
c2NyaXB0aW9uOiAiSW5kaXJlY3QgY2FsbCB0byBldmFsIGhhcyBjb250ZXh0IHNldCB0byBnbG9i
YWwgY29udGV4dCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgX2V2
YWwgPSBldmFsOw0KLSAgdmFyIF9fMTBfNF8yXzFfMV8xID0gInN0cjEiOw0KLSAgaWYoX2V2YWwo
Ilwnc3RyXCcgPT09IF9fMTBfNF8yXzFfMV8xIikgPT09IHRydWUgJiYgIC8vIGluZGlyZWN0IGV2
YWwNCi0gICAgIGV2YWwoIlwnc3RyMVwnID09PSBfXzEwXzRfMl8xXzFfMSIpID09PSB0cnVlKSAg
IC8vIGRpcmVjdCBldmFsDQotICAgIHJldHVybiB0cnVlOw0KLSB9DQotfSk7DQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKKwordmFyIF9fMTBfNF8yXzFfMV8xID0g
InN0ciI7CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjEwLjQuMi0xLTEiLAor
CitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMC8xMC40LzEwLjQuMi8xMC40LjItMS0xLmpzIiwK
KworZGVzY3JpcHRpb246ICJJbmRpcmVjdCBjYWxsIHRvIGV2YWwgaGFzIGNvbnRleHQgc2V0IHRv
IGdsb2JhbCBjb250ZXh0IiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBf
ZXZhbCA9IGV2YWw7CisgIHZhciBfXzEwXzRfMl8xXzFfMSA9ICJzdHIxIjsKKyAgaWYoX2V2YWwo
Ilwnc3RyXCcgPT09IF9fMTBfNF8yXzFfMV8xIikgPT09IHRydWUgJiYgIC8vIGluZGlyZWN0IGV2
YWwKKyAgICAgZXZhbCgiXCdzdHIxXCcgPT09IF9fMTBfNF8yXzFfMV8xIikgPT09IHRydWUpICAg
Ly8gZGlyZWN0IGV2YWwKKyAgICByZXR1cm4gdHJ1ZTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMC40
LjItMS0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIwor
TEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEwLjQuMi0xLTIuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEwLjQuMi0x
LTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xMC40LjItMS0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ0ICsx
LDQ0IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0v
Ly8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQN
Ci0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0K
LS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8g
DQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gDQotDQotDQotDQotdmFyIF9fMTBfNF8yXzFfMiA9ICJzdHIiOw0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxMC40LjItMS0yIiwNCi0NCi1wYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxMC8xMC40LzEwLjQuMi8xMC40LjItMS0yLmpzIiwNCi0NCi1kZXNjcmlwdGlv
bjogIkluZGlyZWN0IGNhbGwgdG8gZXZhbCBoYXMgY29udGV4dCBzZXQgdG8gZ2xvYmFsIGNvbnRl
eHQgKG5lc3RlZCBmdW5jdGlvbikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LSAgdmFyIF9ldmFsID0gZXZhbDsNCi0gIHZhciBfXzEwXzRfMl8xXzIgPSAic3RyMSI7DQotICBm
dW5jdGlvbiBmb28oKQ0KLSAgew0KLSAgICB2YXIgX18xMF80XzJfMV8yID0gInN0cjIiOw0KLSAg
ICBpZihfZXZhbCgiXCdzdHJcJyA9PT0gX18xMF80XzJfMV8yIikgPT09IHRydWUgJiYgIC8vIGlu
ZGlyZWN0IGV2YWwNCi0gICAgICAgZXZhbCgiXCdzdHIyXCcgPT09IF9fMTBfNF8yXzFfMiIpID09
PSB0cnVlKSAgICAvLyBkaXJlY3QgZXZhbA0KLSAgICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSAg
cmV0dXJuIGZvbygpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorCisKKwordmFyIF9fMTBfNF8yXzFfMiA9ICJzdHIiOworCitFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggeworaWQ6ICIxMC40LjItMS0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTAvMTAuNC8xMC40LjIvMTAuNC4yLTEtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiSW5kaXJl
Y3QgY2FsbCB0byBldmFsIGhhcyBjb250ZXh0IHNldCB0byBnbG9iYWwgY29udGV4dCAobmVzdGVk
IGZ1bmN0aW9uKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgX2V2YWwg
PSBldmFsOworICB2YXIgX18xMF80XzJfMV8yID0gInN0cjEiOworICBmdW5jdGlvbiBmb28oKQor
ICB7CisgICAgdmFyIF9fMTBfNF8yXzFfMiA9ICJzdHIyIjsKKyAgICBpZihfZXZhbCgiXCdzdHJc
JyA9PT0gX18xMF80XzJfMV8yIikgPT09IHRydWUgJiYgIC8vIGluZGlyZWN0IGV2YWwKKyAgICAg
ICBldmFsKCJcJ3N0cjJcJyA9PT0gX18xMF80XzJfMV8yIikgPT09IHRydWUpICAgIC8vIGRpcmVj
dCBldmFsCisgICAgICByZXR1cm4gdHJ1ZTsKKyAgfQorICByZXR1cm4gZm9vKCk7CisgfQorfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTAuNC4yLTEtMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMC40LjItMS0z
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xMC40LjItMS0zLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTAuNC4yLTEtMy5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSw0OCArMSw0OCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
DQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQot
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLQ0KLXZhciBfXzEwXzRfMl8xXzMgPSAic3Ry
IjsNCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTAuNC4yLTEtMyIsDQot
DQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTAvMTAuNC8xMC40LjIvMTAuNC4yLTEtMy5qcyIs
DQotDQotZGVzY3JpcHRpb246ICJJbmRpcmVjdCBjYWxsIHRvIGV2YWwgaGFzIGNvbnRleHQgc2V0
IHRvIGdsb2JhbCBjb250ZXh0IChjYXRjaCBibG9jaykiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgew0KLQ0KLSAgdmFyIF9ldmFsID0gZXZhbDsNCi0gIHZhciBfXzEwXzRfMl8xXzMg
PSAic3RyMSI7DQotICB0cnkNCi0gIHsNCi0gICAgdGhyb3cgImVycm9yIjsNCi0gIH0NCi0gIGNh
dGNoKGUpICANCi0gIHsNCi0gICAgdmFyIF9fMTBfNF8yXzFfMyA9ICJzdHIyIjsNCi0gICAgaWYo
X2V2YWwoIlwnc3RyXCcgPT09IF9fMTBfNF8yXzFfMyIpID09PSB0cnVlICYmICAvLyBpbmRpcmVj
dCBldmFsDQotICAgICAgIGV2YWwoIlwnc3RyMlwnID09PSBfXzEwXzRfMl8xXzMiKSA9PT0gdHJ1
ZSkgICAgLy8gZGlyZWN0IGV2YWwNCi0gICAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfQ0KLX0p
Ow0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAor
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisv
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCisKK3ZhciBfXzEw
XzRfMl8xXzMgPSAic3RyIjsKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTAu
NC4yLTEtMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjEwLzEwLjQvMTAuNC4yLzEwLjQu
Mi0xLTMuanMiLAorCitkZXNjcmlwdGlvbjogIkluZGlyZWN0IGNhbGwgdG8gZXZhbCBoYXMgY29u
dGV4dCBzZXQgdG8gZ2xvYmFsIGNvbnRleHQgKGNhdGNoIGJsb2NrKSIsCisKK3Rlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgeworCisgIHZhciBfZXZhbCA9IGV2YWw7CisgIHZhciBfXzEwXzRfMl8x
XzMgPSAic3RyMSI7CisgIHRyeQorICB7CisgICAgdGhyb3cgImVycm9yIjsKKyAgfQorICBjYXRj
aChlKSAgCisgIHsKKyAgICB2YXIgX18xMF80XzJfMV8zID0gInN0cjIiOworICAgIGlmKF9ldmFs
KCJcJ3N0clwnID09PSBfXzEwXzRfMl8xXzMiKSA9PT0gdHJ1ZSAmJiAgLy8gaW5kaXJlY3QgZXZh
bAorICAgICAgIGV2YWwoIlwnc3RyMlwnID09PSBfXzEwXzRfMl8xXzMiKSA9PT0gdHJ1ZSkgICAg
Ly8gZGlyZWN0IGV2YWwKKyAgICAgIHJldHVybiB0cnVlOworICB9CisgfQorfSk7CgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTAuNC4yLTEtMy5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAg
KzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMC40LjItMS00LmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
MC40LjItMS00LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTAuNC4yLTEtNC5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSw0NSArMSw0NSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLQ0KLXZhciBfXzEwXzRfMl8xXzQgPSAic3RyIjsNCi0NCi0N
Ci1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTAuNC4yLTEtNCIsDQotDQotcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTAvMTAuNC8xMC40LjIvMTAuNC4yLTEtNC5qcyIsDQotDQot
ZGVzY3JpcHRpb246ICJJbmRpcmVjdCBjYWxsIHRvIGV2YWwgaGFzIGNvbnRleHQgc2V0IHRvIGds
b2JhbCBjb250ZXh0ICh3aXRoIGJsb2NrKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotICB2YXIgbyA9IG5ldyBPYmplY3QoKTsgIA0KLSAgby5fXzEwXzRfMl8xXzQgPSAic3Ry
MiI7DQotICB2YXIgX2V2YWwgPSBldmFsOw0KLSAgdmFyIF9fMTBfNF8yXzFfNCA9ICJzdHIxIjsN
Ci0gIHdpdGgobykNCi0gIHsNCi0gICAgaWYoX2V2YWwoIlwnc3RyXCcgPT09IF9fMTBfNF8yXzFf
NCIpID09PSB0cnVlICYmICAvLyBpbmRpcmVjdCBldmFsDQotICAgICAgIGV2YWwoIlwnc3RyMlwn
ID09PSBfXzEwXzRfMl8xXzQiKSA9PT0gdHJ1ZSkgICAgLy8gZGlyZWN0IGV2YWwNCi0gICAgICBy
ZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IK
Ky8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKworCisKK3ZhciBfXzEwXzRfMl8xXzQgPSAic3RyIjsKKworCitFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxMC40LjItMS00IiwKKworcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTAvMTAuNC8xMC40LjIvMTAuNC4yLTEtNC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAi
SW5kaXJlY3QgY2FsbCB0byBldmFsIGhhcyBjb250ZXh0IHNldCB0byBnbG9iYWwgY29udGV4dCAo
d2l0aCBibG9jaykiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIG8gPSBu
ZXcgT2JqZWN0KCk7ICAKKyAgby5fXzEwXzRfMl8xXzQgPSAic3RyMiI7CisgIHZhciBfZXZhbCA9
IGV2YWw7CisgIHZhciBfXzEwXzRfMl8xXzQgPSAic3RyMSI7CisgIHdpdGgobykKKyAgeworICAg
IGlmKF9ldmFsKCJcJ3N0clwnID09PSBfXzEwXzRfMl8xXzQiKSA9PT0gdHJ1ZSAmJiAgLy8gaW5k
aXJlY3QgZXZhbAorICAgICAgIGV2YWwoIlwnc3RyMlwnID09PSBfXzEwXzRfMl8xXzQiKSA9PT0g
dHJ1ZSkgICAgLy8gZGlyZWN0IGV2YWwKKyAgICAgIHJldHVybiB0cnVlOworICB9CisgfQorfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTAuNC4yLTEtNC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMC40LjItMS01
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xMC40LjItMS01LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTAuNC4yLTEtNS5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSw0NCArMSw0NCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
DQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQot
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLQ0KLXZhciBfXzEwXzRfMl8xXzUgPSAic3Ry
IjsNCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTAuNC4yLTEtNSIs
DQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTAvMTAuNC8xMC40LjIvMTAuNC4yLTEtNS5q
cyIsDQotDQotZGVzY3JpcHRpb246ICJJbmRpcmVjdCBjYWxsIHRvIGV2YWwgaGFzIGNvbnRleHQg
c2V0IHRvIGdsb2JhbCBjb250ZXh0IChpbnNpZGUgYW5vdGhlciBldmFsKSIsDQotDQotdGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgX18xMF80XzJfMV81ID0gInN0cjEiOw0KLSAg
dmFyIHIgPSBldmFsKCJcDQotICAgICAgICAgICAgICB2YXIgX2V2YWwgPSBldmFsOyBcDQotICAg
ICAgICAgICAgICB2YXIgX18xMF80XzJfMV81ID0gXCdzdHIyXCc7IFwNCi0gICAgICAgICAgICAg
IF9ldmFsKFwiXCdzdHJcJyA9PT0gX18xMF80XzJfMV81IFwiKSAmJiBcDQotICAgICAgICAgICAg
ICBldmFsKFwiXCdzdHIyXCcgPT09IF9fMTBfNF8yXzFfNVwiKVwNCi0gICAgICAgICAgICAiKTsg
ICANCi0gIGlmKHIgPT0gdHJ1ZSkNCi0gICAgcmV0dXJuIHRydWU7DQotIH0NCi19KTsNCisvLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworCit2YXIgX18xMF80XzJfMV81
ID0gInN0ciI7CisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTAuNC4yLTEt
NSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjEwLzEwLjQvMTAuNC4yLzEwLjQuMi0xLTUu
anMiLAorCitkZXNjcmlwdGlvbjogIkluZGlyZWN0IGNhbGwgdG8gZXZhbCBoYXMgY29udGV4dCBz
ZXQgdG8gZ2xvYmFsIGNvbnRleHQgKGluc2lkZSBhbm90aGVyIGV2YWwpIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBfXzEwXzRfMl8xXzUgPSAic3RyMSI7CisgIHZhciBy
ID0gZXZhbCgiXAorICAgICAgICAgICAgICB2YXIgX2V2YWwgPSBldmFsOyBcCisgICAgICAgICAg
ICAgIHZhciBfXzEwXzRfMl8xXzUgPSBcJ3N0cjJcJzsgXAorICAgICAgICAgICAgICBfZXZhbChc
Ilwnc3RyXCcgPT09IF9fMTBfNF8yXzFfNSBcIikgJiYgXAorICAgICAgICAgICAgICBldmFsKFwi
XCdzdHIyXCcgPT09IF9fMTBfNF8yXzFfNVwiKVwKKyAgICAgICAgICAgICIpOyAgIAorICBpZihy
ID09IHRydWUpCisgICAgcmV0dXJuIHRydWU7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTAuNC4yLTEt
NS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMC40LjItMi1jLTEuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEwLjQuMi0yLWMt
MS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzEwLjQuMi0yLWMtMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOSAr
MSwzOSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQot
Ly8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
DQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8N
Ci0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8v
IA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxMC40LjIt
Mi1jLTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjEwLzEwLjQvMTAuNC4yLzEwLjQu
Mi0yLWMtMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJEaXJlY3QgdmFsIGNvZGUgaW4gbm9uLXN0
cmljdCBtb2RlIC0gY2FuIGluc3RhbnRpYXRlIHZhcmlhYmxlIGluIGNhbGxpbmcgY29udGV4dCIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotoCB2YXIgeCA9IDA7DQotoCByZXR1
cm4gZnVuY3Rpb24gaW5uZXIoKSB7DQotICAgICBldmFsKCJ2YXIgeCA9IDEiKTsNCi0gICAgIGlm
ICh4ID09PSAxKQ0KLSAgICAgICAgcmV0dXJuIHRydWU7DQotICAgICB9ICgpOw0KLSAgIH0NCi0N
Ci19KTsNCi0NCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAK
Ky8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
CisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYK
Ky8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTAuNC4yLTItYy0xIiwKKworcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTAvMTAuNC8xMC40LjIvMTAuNC4yLTItYy0xLmpzIiwKKworZGVzY3Jp
cHRpb246ICJEaXJlY3QgdmFsIGNvZGUgaW4gbm9uLXN0cmljdCBtb2RlIC0gY2FuIGluc3RhbnRp
YXRlIHZhcmlhYmxlIGluIGNhbGxpbmcgY29udGV4dCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgeworoCB2YXIgeCA9IDA7CiugIHJldHVybiBmdW5jdGlvbiBpbm5lcigpIHsKKyAgICAg
ZXZhbCgidmFyIHggPSAxIik7CisgICAgIGlmICh4ID09PSAxKQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICAgfSAoKTsKKyAgIH0KKworfSk7CisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMC40LjItMi1jLTEuanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTAuNi0xMC1jLWlpLTEuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEwLjYtMTAtYy1paS0x
LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTAuNi0xMC1jLWlpLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzgg
KzEsMzggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTAuNi0x
MC1jLWlpLTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjEwLzEwLjYvMTAuNi0xMC1j
LWlpLTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiYXJndW1lbnRzW2ldIGNoYW5nZSB3aXRoIGFj
dHVhbCBwYXJhbWV0ZXJzIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGZ1
bmN0aW9uIGZvbyhhLGIsYykNCi0gIHsNCi0gICAgYSA9IDE7IGIgPSAnc3RyJzsgYyA9IDIuMTsN
Ci0gICAgaWYoYXJndW1lbnRzWzBdID09PSAxICYmIGFyZ3VtZW50c1sxXSA9PT0gJ3N0cicgJiYg
YXJndW1lbnRzWzJdID09PSAyLjEpDQotICAgICAgcmV0dXJuIHRydWU7ICAgDQotICB9DQotICBy
ZXR1cm4gZm9vKDEwLCdzc3MnLDEpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
CisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjEw
LjYtMTAtYy1paS0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTAvMTAuNi8xMC42LTEw
LWMtaWktMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiYXJndW1lbnRzW2ldIGNoYW5nZSB3aXRoIGFj
dHVhbCBwYXJhbWV0ZXJzIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZ1bmN0
aW9uIGZvbyhhLGIsYykKKyAgeworICAgIGEgPSAxOyBiID0gJ3N0cic7IGMgPSAyLjE7CisgICAg
aWYoYXJndW1lbnRzWzBdID09PSAxICYmIGFyZ3VtZW50c1sxXSA9PT0gJ3N0cicgJiYgYXJndW1l
bnRzWzJdID09PSAyLjEpCisgICAgICByZXR1cm4gdHJ1ZTsgICAKKyAgfQorICByZXR1cm4gZm9v
KDEwLCdzc3MnLDEpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEwLjYtMTAtYy1paS0xLmpzCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzEwLjYtMTAtYy1paS0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMC42LTEwLWMtaWktMi5qcwko
cmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzEwLjYtMTAtYy1paS0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjEwLjYtMTAtYy1p
aS0yIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMC8xMC42LzEwLjYtMTAtYy1paS0y
LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogImFyZ3VtZW50c1tpXSBtYXAgdG8gYWN0dWFsIHBhcmFt
ZXRlciIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICANCi0gIGZ1bmN0aW9u
IGZvbyhhLGIsYykNCi0gIHsNCi0gICAgYXJndW1lbnRzWzBdID0gMTsgYXJndW1lbnRzWzFdID0g
J3N0cic7IGFyZ3VtZW50c1syXSA9IDIuMTsNCi0gICAgaWYoMSA9PT0gYSAmJiAnc3RyJyA9PT0g
YiAmJiAyLjEgPT09IGMpDQotICAgICAgcmV0dXJuIHRydWU7ICAgDQotICB9DQotICByZXR1cm4g
Zm9vKDEwLCdzc3MnLDEpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjEwLjYtMTAt
Yy1paS0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTAvMTAuNi8xMC42LTEwLWMtaWkt
Mi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiYXJndW1lbnRzW2ldIG1hcCB0byBhY3R1YWwgcGFyYW1l
dGVyIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIAorICBmdW5jdGlvbiBmb28o
YSxiLGMpCisgIHsKKyAgICBhcmd1bWVudHNbMF0gPSAxOyBhcmd1bWVudHNbMV0gPSAnc3RyJzsg
YXJndW1lbnRzWzJdID0gMi4xOworICAgIGlmKDEgPT09IGEgJiYgJ3N0cicgPT09IGIgJiYgMi4x
ID09PSBjKQorICAgICAgcmV0dXJuIHRydWU7ICAgCisgIH0KKyAgcmV0dXJuIGZvbygxMCwnc3Nz
JywxKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMC42LTEwLWMtaWktMi5qcwpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xMC42LTEyLTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEwLjYtMTItMS5qcwkocmV2aXNpb24gMTk5NTQ5KQor
KysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEwLjYtMTIt
MS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxMC42LTEyLTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjEwLzEwLjYvMTAuNi0xMi0xLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFjY2Vzc2lu
ZyBjYWxsZWUgcHJvcGVydHkgb2YgQXJndW1lbnRzIG9iamVjdCBpcyBhbGxvd2VkIiwNCi0NCi10
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHRyeSANCi0gIHsNCi0gICAgYXJndW1lbnRz
LmNhbGxlZTsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotICBjYXRjaCAoZSkgew0KLSAgfQ0K
LSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
CisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
CisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjEwLjYtMTItMSIsCisKK3BhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjEwLzEwLjYvMTAuNi0xMi0xLmpzIiwKKworZGVzY3JpcHRpb246ICJBY2Nl
c3NpbmcgY2FsbGVlIHByb3BlcnR5IG9mIEFyZ3VtZW50cyBvYmplY3QgaXMgYWxsb3dlZCIsCisK
K3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB0cnkgCisgIHsKKyAgICBhcmd1bWVudHMu
Y2FsbGVlOworICAgIHJldHVybiB0cnVlOworICB9CisgIGNhdGNoIChlKSB7CisgIH0KKyB9Cit9
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xMC42LTEyLTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHls
ZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTAuNi0xMi0y
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xMC42LTEyLTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMC42LTEyLTIuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNDMgKzEsNDMgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LWlkOiAiMTAuNi0xMi0yIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMC8xMC42LzEw
LjYtMTItMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJhcmd1bWVudHMuY2FsbGVlIGhhcyBjb3Jy
ZWN0IGF0dHJpYnV0ZXMiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgDQot
ICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJndW1lbnRzLCJj
YWxsZWUiKTsNCi0gIGlmKGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlICYmDQotICAgICBkZXNj
LmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYm
DQotICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PSBmYWxzZSAmJg0KLSAgICAgZGVz
Yy5oYXNPd25Qcm9wZXJ0eSgncHV0JykgPT0gZmFsc2UpDQotICAgIHJldHVybiB0cnVlOyAgIA0K
LSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZu
RXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
Ky8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7CitpZDogIjEwLjYtMTItMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjEw
LzEwLjYvMTAuNi0xMi0yLmpzIiwKKworZGVzY3JpcHRpb246ICJhcmd1bWVudHMuY2FsbGVlIGhh
cyBjb3JyZWN0IGF0dHJpYnV0ZXMiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAg
CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcmd1bWVudHMs
ImNhbGxlZSIpOworICBpZihkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJgorICAgICBkZXNj
LmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYK
KyAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT0gZmFsc2UgJiYKKyAgICAgZGVzYy5o
YXNPd25Qcm9wZXJ0eSgncHV0JykgPT0gZmFsc2UpCisgICAgcmV0dXJuIHRydWU7ICAgCisgfSwK
KworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMC42
LTEyLTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitM
RgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTAuNi0xMy0xLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMC42LTEzLTEu
anMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xMC42LTEzLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzggKzEsMzgg
QEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyAN
Ci0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0v
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTAuNi0xMy0xIiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMC8xMC42LzEwLjYtMTMtMS5qcyIsDQotDQot
ZGVzY3JpcHRpb246ICJBY2Nlc3NpbmcgY2FsbGVyIHByb3BlcnR5IG9mIEFyZ3VtZW50cyBvYmpl
Y3QgaXMgYWxsb3dlZCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB0cnkg
DQotICB7DQotICAgIGFyZ3VtZW50cy5jYWxsZXI7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0K
LSAgY2F0Y2ggKGUpIHsNCi0gIH0NCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwor
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxMC42
LTEzLTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMC8xMC42LzEwLjYtMTMtMS5qcyIs
CisKK2Rlc2NyaXB0aW9uOiAiQWNjZXNzaW5nIGNhbGxlciBwcm9wZXJ0eSBvZiBBcmd1bWVudHMg
b2JqZWN0IGlzIGFsbG93ZWQiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdHJ5
IAorICB7CisgICAgYXJndW1lbnRzLmNhbGxlcjsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorICBj
YXRjaCAoZSkgeworICB9CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTAuNi0xMy0xLmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzEwLjYtNS0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMC42LTUtMS5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEwLjYt
NS0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM2ICsxLDM2IEBACi0vLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0K
LS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
Uw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjEwLjYtNS0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxMC8xMC42LzEwLjYtNS0xLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIltbUHJvdG90
eXBlXV0gcHJvcGVydHkgb2YgQXJndW1lbnRzIGlzIHNldCB0byBPYmplY3QgcHJvdG90eXBlIG9i
amVjdCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBpZihPYmplY3QuZ2V0
UHJvdG90eXBlT2YoYXJndW1lbnRzKSA9PT0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHt9KSkNCi0g
ICAgcmV0dXJuIHRydWU7DQotIH0sDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiAoKSB7DQotICBy
ZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKTsNCi0gfQ0KLX0pOw0KKy8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisv
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggeworaWQ6ICIxMC42LTUtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjEwLzEw
LjYvMTAuNi01LTEuanMiLAorCitkZXNjcmlwdGlvbjogIltbUHJvdG90eXBlXV0gcHJvcGVydHkg
b2YgQXJndW1lbnRzIGlzIHNldCB0byBPYmplY3QgcHJvdG90eXBlIG9iamVjdCIsCisKK3Rlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZihPYmplY3QuZ2V0UHJvdG90eXBlT2YoYXJndW1l
bnRzKSA9PT0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHt9KSkKKyAgICByZXR1cm4gdHJ1ZTsKKyB9
LAorcHJlY29uZGl0aW9uOiBmdW5jdGlvbiAoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3Qu
Z2V0UHJvdG90eXBlT2YpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEwLjYtNS0xLmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzEwLjYtNi0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMC42LTYtMS5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEwLjYt
Ni0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5IEBACi0vLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0K
LS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
Uw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjEwLjYtNi0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxMC8xMC42LzEwLjYtNi0xLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIidsZW5ndGgg
cHJvcGVydHkgb2YgYXJndW1lbnRzIG9iamVjdCBleGlzdHMiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgew0KLSAgDQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoYXJndW1lbnRzLCJsZW5ndGgiKTsNCi0gIHJldHVybiBkZXNjICE9PSB1bmRlZmlu
ZWQNCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uICgpIHsNCi0gIHJldHVybiBmbkV4
aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLQ0KLX0pOw0KKy8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggeworaWQ6ICIxMC42LTYtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjEw
LzEwLjYvMTAuNi02LTEuanMiLAorCitkZXNjcmlwdGlvbjogIidsZW5ndGggcHJvcGVydHkgb2Yg
YXJndW1lbnRzIG9iamVjdCBleGlzdHMiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsK
KyAgCisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcmd1bWVu
dHMsImxlbmd0aCIpOworICByZXR1cm4gZGVzYyAhPT0gdW5kZWZpbmVkCisgfSwKKworcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiAoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKTsKKyB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEwLjYtNi0xLmpzCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzEwLjYtNi0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMC42LTYtMi5qcwkocmV2aXNpb24gMTk5
NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEw
LjYtNi0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0v
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjEwLjYtNi0yIiwNCi0NCi1wYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxMC8xMC42LzEwLjYtNi0yLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIidsZW5n
dGgnIHByb3BlcnR5IG9mIGFyZ3VtZW50cyBvYmplY3QgaGFzIGNvcnJlY3QgYXR0cmlidXRlcyIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICANCi0gIHZhciBkZXNjID0gT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcmd1bWVudHMsImxlbmd0aCIpOw0KLSAgaWYo
ZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUgJiYNCi0gICAgIGRlc2MuZW51bWVyYWJsZSA9PT0g
ZmFsc2UgJiYNCi0gICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgKQ0KLSAgICByZXR1cm4gdHJ1
ZTsNCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uICgpIHsNCi0gIHJldHVybiBmbkV4
aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLQ0KLX0pOw0KKy8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggeworaWQ6ICIxMC42LTYtMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjEw
LzEwLjYvMTAuNi02LTIuanMiLAorCitkZXNjcmlwdGlvbjogIidsZW5ndGgnIHByb3BlcnR5IG9m
IGFyZ3VtZW50cyBvYmplY3QgaGFzIGNvcnJlY3QgYXR0cmlidXRlcyIsCisKK3Rlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgeworICAKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKGFyZ3VtZW50cywibGVuZ3RoIik7CisgIGlmKGRlc2MuY29uZmlndXJhYmxlID09
PSB0cnVlICYmCisgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgZGVzYy53
cml0YWJsZSA9PT0gdHJ1ZSApCisgICAgcmV0dXJuIHRydWU7CisgfSwKKworcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiAoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKTsKKyB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEwLjYtNi0yLmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzEwLjYtNi0zLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMC42LTYtMy5qcwkocmV2aXNpb24gMTk5NTQ5KQor
KysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEwLjYtNi0z
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM0ICsxLDM0IEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsNCi1pZDogIjEwLjYtNi0zIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxMC8xMC42LzEwLjYtNi0zLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIidsZW5ndGgnIHBy
b3BlcnR5IG9mIGFyZ3VtZW50cyBvYmplY3QgZm9yIDAgYXJndW1lbnQgZnVuY3Rpb24gZXhpc3Rz
IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gICAgICB2YXIgYXJndW1lbnRz
PSB1bmRlZmluZWQ7DQotICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7cmV0dXJuIGFyZ3VtZW50
cy5sZW5ndGggIT09IHVuZGVmaW5lZH0pKCk7DQotIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsK
K2lkOiAiMTAuNi02LTMiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMC8xMC42LzEwLjYt
Ni0zLmpzIiwKKworZGVzY3JpcHRpb246ICInbGVuZ3RoJyBwcm9wZXJ0eSBvZiBhcmd1bWVudHMg
b2JqZWN0IGZvciAwIGFyZ3VtZW50IGZ1bmN0aW9uIGV4aXN0cyIsCisKK3Rlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworICAgICAgdmFyIGFyZ3VtZW50cz0gdW5kZWZpbmVkOworICAgICAgcmV0
dXJuIChmdW5jdGlvbiAoKSB7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggIT09IHVuZGVmaW5lZH0p
KCk7CisgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMC42LTYtMy5qcwpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xMC42LTYtNC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTAuNi02LTQuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMC42LTYtNC5qcwkod29y
a2luZyBjb3B5KQpAQCAtMSwzNCArMSwzNCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0K
LS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7DQotaWQ6ICIxMC42LTYtNCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTAv
MTAuNi8xMC42LTYtNC5qcyIsDQotDQotZGVzY3JpcHRpb246ICInbGVuZ3RoJyBwcm9wZXJ0eSBv
ZiBhcmd1bWVudHMgb2JqZWN0IGZvciAwIGFyZ3VtZW50IGZ1bmN0aW9uIGNhbGwgaXMgMCBldmVu
IHdpdGggZm9ybWFsIHBhcmFtZXRlcnMiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
ew0KLSAgICAgIHZhciBhcmd1bWVudHM9IHVuZGVmaW5lZDsNCi0gICAgICByZXR1cm4gKGZ1bmN0
aW9uIChhLGIsYykge3JldHVybiBhcmd1bWVudHMubGVuZ3RoID09PSAwfSkoKTsNCi0gfQ0KLQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxMC42LTYtNCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjEwLzEwLjYvMTAuNi02LTQuanMiLAorCitkZXNjcmlwdGlvbjogIidsZW5ndGgnIHBy
b3BlcnR5IG9mIGFyZ3VtZW50cyBvYmplY3QgZm9yIDAgYXJndW1lbnQgZnVuY3Rpb24gY2FsbCBp
cyAwIGV2ZW4gd2l0aCBmb3JtYWwgcGFyYW1ldGVycyIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgeworICAgICAgdmFyIGFyZ3VtZW50cz0gdW5kZWZpbmVkOworICAgICAgcmV0dXJuIChm
dW5jdGlvbiAoYSxiLGMpIHtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA9PT0gMH0pKCk7CisgfQor
Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xMC42LTYtNC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4xLjQt
MC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTEuMS40LTAuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4xLjQtMC5qcwkod29ya2luZyBjb3B5
KQpAQCAtMSwzNSArMSwzNSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
DQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQot
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQot
aWQ6ICIxMS4xLjQtMCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTEvMTEuMS8xMS4x
LjQvMTEuMS40LTAuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiZWxlbWVudHMgZWxpZGVkIGF0IHRo
ZSBlbmQgb2YgYW4gYXJyYXkgZG8gbm90IGNvbnRyaWJ1dGUgdG8gaXRzIGxlbmd0aCIsDQotDQot
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgYSA9IFssXTsNCi0gIGlmIChhLmxl
bmd0aCA9PT0gMSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfQ0KLX0pOw0KKy8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisv
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggeworaWQ6ICIxMS4xLjQtMCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjExLzEx
LjEvMTEuMS40LzExLjEuNC0wLmpzIiwKKworZGVzY3JpcHRpb246ICJlbGVtZW50cyBlbGlkZWQg
YXQgdGhlIGVuZCBvZiBhbiBhcnJheSBkbyBub3QgY29udHJpYnV0ZSB0byBpdHMgbGVuZ3RoIiwK
KwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBhID0gWyxdOworICBpZiAoYS5s
ZW5ndGggPT09IDEpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0KK30pOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzExLjEuNC0wLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAj
IworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjEuNS0wLTEuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjEu
NS0wLTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4xLjUtMC0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ0
ICsxLDQ0IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAN
Ci0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0v
Ly8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gDQotDQotDQotLyogaXQgaXNuJ3QgY2xlYXIgd2hhdCBzcGVjaWZpYyByZXF1aXJl
bWVudHMgb2YgdGhlIHNwZWNpZmljYWl0b24gYXJlIGJlaW5nIHRlc3RlZCBoZXJlLiBUaGlzIHRl
c3Qgc2hvdWxkIA0KLXByb2JhYmx5IGJlIHJlcGxhY2VkIGJ5IHNvbWUgbW9yZSB0YXJnZXRlZCB0
ZXN0cy4gIEFsbGVuV0IgKi8gDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDog
IjExLjEuNS0wLTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjExLzExLjEvMTEuMS41
LzExLjEuNS0wLTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0IGxpdGVyYWwgLSBnZXQg
c2V0IHByb3BlcnR5IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBz
MSA9ICJJbiBnZXR0ZXIiOw0KLSAgdmFyIHMyID0gIkluIHNldHRlciI7DQotICB2YXIgczMgPSAi
TW9kaWZpZWQgYnkgc2V0dGVyIjsNCi0gIGV2YWwoInZhciBvID0ge2dldCBmb28oKXsgcmV0dXJu
IHMxO30sc2V0IGZvbyhhcmcpe3JldHVybiBzMiA9IHMzfX07Iik7DQotICBpZihvLmZvbyAhPT0g
czEpIA0KLSAgICByZXR1cm4gZmFsc2U7DQotICBvLmZvbz0xMDsNCi0gIGlmKHMyICE9PSBzMykg
DQotICAgIHJldHVybiBmYWxzZTsNCi0gIHJldHVybiB0cnVlOw0KLSB9DQotfSk7DQorLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKKy8qIGl0IGlzbid0IGNsZWFyIHdo
YXQgc3BlY2lmaWMgcmVxdWlyZW1lbnRzIG9mIHRoZSBzcGVjaWZpY2FpdG9uIGFyZSBiZWluZyB0
ZXN0ZWQgaGVyZS4gVGhpcyB0ZXN0IHNob3VsZCAKK3Byb2JhYmx5IGJlIHJlcGxhY2VkIGJ5IHNv
bWUgbW9yZSB0YXJnZXRlZCB0ZXN0cy4gIEFsbGVuV0IgKi8gCisKK0VTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7CitpZDogIjExLjEuNS0wLTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
MS8xMS4xLzExLjEuNS8xMS4xLjUtMC0xLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QgbGl0
ZXJhbCAtIGdldCBzZXQgcHJvcGVydHkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsK
KyAgdmFyIHMxID0gIkluIGdldHRlciI7CisgIHZhciBzMiA9ICJJbiBzZXR0ZXIiOworICB2YXIg
czMgPSAiTW9kaWZpZWQgYnkgc2V0dGVyIjsKKyAgZXZhbCgidmFyIG8gPSB7Z2V0IGZvbygpeyBy
ZXR1cm4gczE7fSxzZXQgZm9vKGFyZyl7cmV0dXJuIHMyID0gczN9fTsiKTsKKyAgaWYoby5mb28g
IT09IHMxKSAKKyAgICByZXR1cm4gZmFsc2U7CisgIG8uZm9vPTEwOworICBpZihzMiAhPT0gczMp
IAorICAgIHJldHVybiBmYWxzZTsKKyAgcmV0dXJuIHRydWU7CisgfQorfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTEuMS41LTAtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4xLjUtMC0yLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4x
LjUtMC0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuMS41LTAtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0
OSArMSw0OSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
DQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQot
Ly8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIA0KLQ0KLS8qIGl0IGlzbid0IGNsZWFyIHdoYXQgc3BlY2lmaWMgcmVxdWlyZW1l
bnRzIG9mIHRoZSBzcGVjaWZpY2FpdG9uIGFyZSBiZWluZyB0ZXN0ZWQgaGVyZS4gVGhpcyB0ZXN0
IHNob3VsZCANCi1wcm9iYWJseSBiZSByZXBsYWNlZCBieSBzb21lIG1vcmUgdGFyZ2V0ZWQgdGVz
dHMuICBBbGxlbldCICovIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6
ICIxMS4xLjUtMC0yIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS4xLzExLjEu
NS8xMS4xLjUtMC0yLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdCBsaXRlcmFsIC0gbXVs
dGlwbGUgZ2V0IHNldCBwcm9wZXJ0aWVzIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsNCi0gIHZhciBzMSA9ICJGaXJzdCBnZXR0ZXIiOw0KLSAgdmFyIHMyID0gIkZpcnN0IHNldHRl
ciI7DQotICB2YXIgczMgPSAiU2Vjb25kIGdldHRlciI7DQotICBldmFsKCJ2YXIgbyA9IHtnZXQg
Zm9vKCl7IHJldHVybiBzMTt9LHNldCBmb28oYXJnKXtyZXR1cm4gczIgPSBzM30sIGdldCBiYXIo
KXsgcmV0dXJuIHMzfSwgc2V0IGJhcihhcmcpeyBzMyA9IGFyZzt9fTsiKTsNCi0gIGlmKG8uZm9v
ICE9PSBzMSkgDQotICAgIHJldHVybiBmYWxzZTsNCi0gIG8uZm9vID0gMTA7DQotICBpZihzMiAh
PT0gczMpIA0KLSAgICByZXR1cm4gZmFsc2U7DQotICBpZihvLmJhciAhPT0gczMpDQotICAgIHJl
dHVybiBmYWxzZTsNCi0gIG8uYmFyID0gIlNlY29uZCBzZXR0ZXIiOw0KLSAgaWYoby5iYXIgIT09
ICJTZWNvbmQgc2V0dGVyIikNCi0gICAgcmV0dXJuIGZhbHNlOw0KLSAgcmV0dXJuIHRydWU7DQot
IH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAK
Ky8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
CisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYK
Ky8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKy8qIGl0
IGlzbid0IGNsZWFyIHdoYXQgc3BlY2lmaWMgcmVxdWlyZW1lbnRzIG9mIHRoZSBzcGVjaWZpY2Fp
dG9uIGFyZSBiZWluZyB0ZXN0ZWQgaGVyZS4gVGhpcyB0ZXN0IHNob3VsZCAKK3Byb2JhYmx5IGJl
IHJlcGxhY2VkIGJ5IHNvbWUgbW9yZSB0YXJnZXRlZCB0ZXN0cy4gIEFsbGVuV0IgKi8gCisKKwor
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTEuMS41LTAtMiIsCisKK3BhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjExLzExLjEvMTEuMS41LzExLjEuNS0wLTIuanMiLAorCitkZXNjcmlw
dGlvbjogIk9iamVjdCBsaXRlcmFsIC0gbXVsdGlwbGUgZ2V0IHNldCBwcm9wZXJ0aWVzIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBzMSA9ICJGaXJzdCBnZXR0ZXIiOwor
ICB2YXIgczIgPSAiRmlyc3Qgc2V0dGVyIjsKKyAgdmFyIHMzID0gIlNlY29uZCBnZXR0ZXIiOwor
ICBldmFsKCJ2YXIgbyA9IHtnZXQgZm9vKCl7IHJldHVybiBzMTt9LHNldCBmb28oYXJnKXtyZXR1
cm4gczIgPSBzM30sIGdldCBiYXIoKXsgcmV0dXJuIHMzfSwgc2V0IGJhcihhcmcpeyBzMyA9IGFy
Zzt9fTsiKTsKKyAgaWYoby5mb28gIT09IHMxKSAKKyAgICByZXR1cm4gZmFsc2U7CisgIG8uZm9v
ID0gMTA7CisgIGlmKHMyICE9PSBzMykgCisgICAgcmV0dXJuIGZhbHNlOworICBpZihvLmJhciAh
PT0gczMpCisgICAgcmV0dXJuIGZhbHNlOworICBvLmJhciA9ICJTZWNvbmQgc2V0dGVyIjsKKyAg
aWYoby5iYXIgIT09ICJTZWNvbmQgc2V0dGVyIikKKyAgICByZXR1cm4gZmFsc2U7CisgIHJldHVy
biB0cnVlOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjEuNS0wLTIuanMKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTEuMS41XzQtNC1hLTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjEuNV80LTQtYS0yLmpzCShyZXZpc2lvbiAx
OTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTEuMS41XzQtNC1hLTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDMgKzEsNDMgQEAKLS8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
DQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0N
Ci0vKg0KLSAgUmVmZXIgMTEuMS41OyANCi0gIFRoZSBwcm9kdWN0aW9uDQotICAgICBQcm9wZXJ0
eU5hbWVBbmRWYWx1ZUxpc3QgOiAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0ICwgUHJvcGVydHlB
c3NpZ25tZW50DQotICAgNC4gSWYgcHJldmlvdXMgaXMgbm90IHVuZGVmaW5lZCB0aGVuIHRocm93
IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uIGlmIGFueSBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIHRydWUNCi0gICAgIGEuIFRoaXMgcHJvZHVjdGlvbiBpcyBjb250YWluZWQgaW4gc3Ry
aWN0IGNvZGUgYW5kIElzRGF0YURlc2NyaXB0b3IocHJldmlvdXMpIGlzIHRydWUgYW5kIElzRGF0
YURlc2NyaXB0b3IocHJvcElkLmRlc2NyaXB0b3IpIGlzIHRydWUNCi0qLw0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxMS4xLjVfNC00LWEtMiIsDQotDQotcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTEvMTEuMS8xMS4xLjUvMTEuMS41XzQtNC1hLTIuanMiLA0KLQ0KLWRl
c2NyaXB0aW9uOiAiT2JqZWN0IGxpdGVyYWwgLSBEdXBsaWNhdGUgZGF0YSBwcm9wZXJ0eSBuYW1l
IGFsbG93ZCBpZiBub3QgaW4gc3RyaWN0IG1vZGUiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgew0KLSAgDQotICBldmFsKCIoe2ZvbzowLGZvbzoxfSk7Iik7DQotICByZXR1cm4gdHJ1
ZTsNCi0gIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8v
LyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisKKworLyoKKyAgUmVmZXIgMTEuMS41OyAKKyAgVGhlIHByb2R1Y3Rpb24KKyAgICAgUHJvcGVy
dHlOYW1lQW5kVmFsdWVMaXN0IDogIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCAsIFByb3BlcnR5
QXNzaWdubWVudAorICAgNC4gSWYgcHJldmlvdXMgaXMgbm90IHVuZGVmaW5lZCB0aGVuIHRocm93
IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uIGlmIGFueSBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIHRydWUKKyAgICAgYS4gVGhpcyBwcm9kdWN0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJp
Y3QgY29kZSBhbmQgSXNEYXRhRGVzY3JpcHRvcihwcmV2aW91cykgaXMgdHJ1ZSBhbmQgSXNEYXRh
RGVzY3JpcHRvcihwcm9wSWQuZGVzY3JpcHRvcikgaXMgdHJ1ZQorKi8KKworRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsKK2lkOiAiMTEuMS41XzQtNC1hLTIiLAorCitwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxMS8xMS4xLzExLjEuNS8xMS4xLjVfNC00LWEtMi5qcyIsCisKK2Rlc2NyaXB0aW9u
OiAiT2JqZWN0IGxpdGVyYWwgLSBEdXBsaWNhdGUgZGF0YSBwcm9wZXJ0eSBuYW1lIGFsbG93ZCBp
ZiBub3QgaW4gc3RyaWN0IG1vZGUiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAg
CisgIGV2YWwoIih7Zm9vOjAsZm9vOjF9KTsiKTsKKyAgcmV0dXJuIHRydWU7CisgIH0KKworfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTEuMS41XzQtNC1hLTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1z
dHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuMS41
XzQtNC1hLTMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzExLjEuNV80LTQtYS0zLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuMS41XzQtNC1h
LTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDQgKzEsNDQgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi0vKg0KLSAgUmVm
ZXIgMTEuMS41OyANCi0gIFRoZSBwcm9kdWN0aW9uDQotICAgICBQcm9wZXJ0eU5hbWVBbmRWYWx1
ZUxpc3QgOiAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0ICwgUHJvcGVydHlBc3NpZ25tZW50DQot
ICAgNC4gSWYgcHJldmlvdXMgaXMgbm90IHVuZGVmaW5lZCB0aGVuIHRocm93IGEgU3ludGF4RXJy
b3IgZXhjZXB0aW9uIGlmIGFueSBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIHRydWUN
Ci0gICAgIGEuIFRoaXMgcHJvZHVjdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IGNvZGUgYW5k
IElzRGF0YURlc2NyaXB0b3IocHJldmlvdXMpIGlzIHRydWUgYW5kIElzRGF0YURlc2NyaXB0b3Io
cHJvcElkLmRlc2NyaXB0b3IpIGlzIHRydWUNCi0qLw0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7DQotaWQ6ICIxMS4xLjVfNC00LWEtMyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTEvMTEuMS8xMS4xLjUvMTEuMS41XzQtNC1hLTMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAi
T2JqZWN0IGxpdGVyYWwgLSBEdXBsaWNhdGUgZGF0YSBwcm9wZXJ0eSBuYW1lIGFsbG93ZWQgZ2V0
cyBsYXN0IGRlZmluZWQgdmFsdWUiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LSAgDQotICB2YXIgbyA9IGV2YWwoIih7Zm9vOjAsZm9vOjF9KTsiKTsNCi0gIHJldHVybiBvLmZv
bz09PTE7DQotICB9DQotDQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorCisKKy8qCisgIFJlZmVyIDExLjEuNTsgCisgIFRoZSBwcm9kdWN0aW9uCisgICAg
IFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCA6ICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgLCBQ
cm9wZXJ0eUFzc2lnbm1lbnQKKyAgIDQuIElmIHByZXZpb3VzIGlzIG5vdCB1bmRlZmluZWQgdGhl
biB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSB0cnVlCisgICAgIGEuIFRoaXMgcHJvZHVjdGlvbiBpcyBjb250YWluZWQg
aW4gc3RyaWN0IGNvZGUgYW5kIElzRGF0YURlc2NyaXB0b3IocHJldmlvdXMpIGlzIHRydWUgYW5k
IElzRGF0YURlc2NyaXB0b3IocHJvcElkLmRlc2NyaXB0b3IpIGlzIHRydWUKKyovCisKK0VTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjExLjEuNV80LTQtYS0zIiwKKworcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTEvMTEuMS8xMS4xLjUvMTEuMS41XzQtNC1hLTMuanMiLAorCitkZXNj
cmlwdGlvbjogIk9iamVjdCBsaXRlcmFsIC0gRHVwbGljYXRlIGRhdGEgcHJvcGVydHkgbmFtZSBh
bGxvd2VkIGdldHMgbGFzdCBkZWZpbmVkIHZhbHVlIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7CisgIAorICB2YXIgbyA9IGV2YWwoIih7Zm9vOjAsZm9vOjF9KTsiKTsKKyAgcmV0dXJu
IG8uZm9vPT09MTsKKyAgfQorCisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjEuNV80LTQtYS0zLmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzExLjEuNV80LTQtYi0xLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4xLjVfNC00LWItMS5q
cwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzExLjEuNV80LTQtYi0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU1ICsx
LDU1IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0v
Ly8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQN
Ci0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0K
LS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8g
DQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gDQotDQotDQotLyoNCi0gIFJlZmVyIDExLjEuNTsgDQotICBUaGUgcHJvZHVjdGlvbg0K
LSAgICAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0IDogIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlz
dCAsIFByb3BlcnR5QXNzaWdubWVudA0KLSAgIDQuIElmIHByZXZpb3VzIGlzIG5vdCB1bmRlZmlu
ZWQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpZiBhbnkgb2YgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSB0cnVlDQotICAgICBiLklzRGF0YURlc2NyaXB0b3IocHJldmlv
dXMpIGlzIHRydWUgYW5kIElzQWNjZXNzb3JEZXNjcmlwdG9yKHByb3BJZC5kZXNjcmlwdG9yKSBp
cyB0cnVlLg0KLSovDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjExLjEu
NV80LTQtYi0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS4xLzExLjEuNS8x
MS4xLjVfNC00LWItMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QgbGl0ZXJhbCAtIFN5
bnRheEVycm9yIGlmIGEgZGF0YSBwcm9wZXJ0eSBkZWZpbml0aW9uIGlzIGZvbGxvd2VkIGJ5IGdl
dCBhY2Nlc3NvciBkZWZpbml0aW9uIHdpdGggdGhlIHNhbWUgbmFtZSIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotICB0cnkNCi0gIHsNCi0gICAgZXZhbCgiKHtmb28gOiAxLCBn
ZXQgZm9vKCl7fX0pOyIpOw0KLSAgfQ0KLSAgY2F0Y2goZSkNCi0gIHsNCi0gICAgaWYoZSBpbnN0
YW5jZW9mIFN5bnRheEVycm9yKQ0KLSAgICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0K
LXByZWNvbmRpdGlvbjogZnVuY3Rpb24gKCkgew0KLSAgIC8vYWNjZXNzb3IgcHJvcGVydGllcyBp
biBvYmplY3QgbGl0ZXJhbHMgbXVzdCBiZSBhbGxvd2VkDQotICB0cnkge2V2YWwoIih7c2V0IGZv
byh4KSB7fSwgZ2V0IGZvbygpe319KTsiKTt9DQotICBjYXRjaChlKSB7cmV0dXJuIGZhbHNlfQ0K
LSAgcmV0dXJuIHRydWU7DQotfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKworCisvKgorICBSZWZlciAxMS4xLjU7IAorICBUaGUgcHJvZHVjdGlvbgorICAg
ICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgOiAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0ICwg
UHJvcGVydHlBc3NpZ25tZW50CisgICA0LiBJZiBwcmV2aW91cyBpcyBub3QgdW5kZWZpbmVkIHRo
ZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24gaWYgYW55IG9mIHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgdHJ1ZQorICAgICBiLklzRGF0YURlc2NyaXB0b3IocHJldmlvdXMpIGlz
IHRydWUgYW5kIElzQWNjZXNzb3JEZXNjcmlwdG9yKHByb3BJZC5kZXNjcmlwdG9yKSBpcyB0cnVl
LgorKi8KKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTEuMS41XzQtNC1iLTEi
LAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS4xLzExLjEuNS8xMS4xLjVfNC00LWIt
MS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0IGxpdGVyYWwgLSBTeW50YXhFcnJvciBpZiBh
IGRhdGEgcHJvcGVydHkgZGVmaW5pdGlvbiBpcyBmb2xsb3dlZCBieSBnZXQgYWNjZXNzb3IgZGVm
aW5pdGlvbiB3aXRoIHRoZSBzYW1lIG5hbWUiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsKKyAgdHJ5CisgIHsKKyAgICBldmFsKCIoe2ZvbyA6IDEsIGdldCBmb28oKXt9fSk7Iik7Cisg
IH0KKyAgY2F0Y2goZSkKKyAgeworICAgIGlmKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikKKyAg
ICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiAoKSB7
CisgICAvL2FjY2Vzc29yIHByb3BlcnRpZXMgaW4gb2JqZWN0IGxpdGVyYWxzIG11c3QgYmUgYWxs
b3dlZAorICB0cnkge2V2YWwoIih7c2V0IGZvbyh4KSB7fSwgZ2V0IGZvbygpe319KTsiKTt9Cisg
IGNhdGNoKGUpIHtyZXR1cm4gZmFsc2V9CisgIHJldHVybiB0cnVlOworfQorfSk7CgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTEuMS41XzQtNC1iLTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuMS41XzQtNC1iLTIu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzExLjEuNV80LTQtYi0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuMS41XzQtNC1iLTIuanMJKHdv
cmtpbmcgY29weSkKQEAgLTEsNTUgKzEsNTUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QN
Ci0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi0vKg0KLSAgUmVmZXIgMTEuMS41
OyANCi0gIFRoZSBwcm9kdWN0aW9uDQotICAgICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgOiAg
UHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0ICwgUHJvcGVydHlBc3NpZ25tZW50DQotICAgNC4gSWYg
cHJldmlvdXMgaXMgbm90IHVuZGVmaW5lZCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0
aW9uIGlmIGFueSBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIHRydWUNCi0gICAgIGIu
SXNEYXRhRGVzY3JpcHRvcihwcmV2aW91cykgaXMgdHJ1ZSBhbmQgSXNBY2Nlc3NvckRlc2NyaXB0
b3IocHJvcElkLmRlc2NyaXB0b3IpIGlzIHRydWUuDQotKi8NCi0NCi1FUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggew0KLWlkOiAiMTEuMS41XzQtNC1iLTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjExLzExLjEvMTEuMS41LzExLjEuNV80LTQtYi0yLmpzIiwNCi0NCi1kZXNjcmlwdGlv
bjogIk9iamVjdCBsaXRlcmFsIC0gU3ludGF4RXJyb3IgaWYgYSBkYXRhIHByb3BlcnR5IGRlZmlu
aXRpb24gaXMgZm9sbG93ZWQgYnkgc2V0IGFjY2Vzc29yIGRlZmluaXRpb24gd2l0aCB0aGUgc2Ft
ZSBuYW1lIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHRyeQ0KLSAgew0K
LSAgICBldmFsKCIoe2ZvbyA6IDEsIHNldCBmb28oeCl7fX0pOyIpOw0KLSAgfQ0KLSAgY2F0Y2go
ZSkNCi0gIHsNCi0gICAgaWYoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKQ0KLSAgICAgIHJldHVy
biB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gKCkgew0KLSAg
IC8vYWNjZXNzb3IgcHJvcGVydGllcyBpbiBvYmplY3QgbGl0ZXJhbHMgbXVzdCBiZSBhbGxvd2Vk
DQotICB0cnkge2V2YWwoIih7c2V0IGZvbyh4KSB7fSwgZ2V0IGZvbygpe319KTsiKTt9DQotICBj
YXRjaChlKSB7cmV0dXJuIGZhbHNlfQ0KLSAgcmV0dXJuIHRydWU7DQotfQ0KLX0pOw0KKy8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisv
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCisvKgorICBSZWZlciAxMS4xLjU7
IAorICBUaGUgcHJvZHVjdGlvbgorICAgICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgOiAgUHJv
cGVydHlOYW1lQW5kVmFsdWVMaXN0ICwgUHJvcGVydHlBc3NpZ25tZW50CisgICA0LiBJZiBwcmV2
aW91cyBpcyBub3QgdW5kZWZpbmVkIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24g
aWYgYW55IG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgdHJ1ZQorICAgICBiLklzRGF0
YURlc2NyaXB0b3IocHJldmlvdXMpIGlzIHRydWUgYW5kIElzQWNjZXNzb3JEZXNjcmlwdG9yKHBy
b3BJZC5kZXNjcmlwdG9yKSBpcyB0cnVlLgorKi8KKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTEuMS41XzQtNC1iLTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8x
MS4xLzExLjEuNS8xMS4xLjVfNC00LWItMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0IGxp
dGVyYWwgLSBTeW50YXhFcnJvciBpZiBhIGRhdGEgcHJvcGVydHkgZGVmaW5pdGlvbiBpcyBmb2xs
b3dlZCBieSBzZXQgYWNjZXNzb3IgZGVmaW5pdGlvbiB3aXRoIHRoZSBzYW1lIG5hbWUiLAorCit0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdHJ5CisgIHsKKyAgICBldmFsKCIoe2ZvbyA6
IDEsIHNldCBmb28oeCl7fX0pOyIpOworICB9CisgIGNhdGNoKGUpCisgIHsKKyAgICBpZihlIGlu
c3RhbmNlb2YgU3ludGF4RXJyb3IpCisgICAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3By
ZWNvbmRpdGlvbjogZnVuY3Rpb24gKCkgeworICAgLy9hY2Nlc3NvciBwcm9wZXJ0aWVzIGluIG9i
amVjdCBsaXRlcmFscyBtdXN0IGJlIGFsbG93ZWQKKyAgdHJ5IHtldmFsKCIoe3NldCBmb28oeCkg
e30sIGdldCBmb28oKXt9fSk7Iik7fQorICBjYXRjaChlKSB7cmV0dXJuIGZhbHNlfQorICByZXR1
cm4gdHJ1ZTsKK30KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjEuNV80LTQtYi0yLmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzExLjEuNV80LTQtYy0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4xLjVfNC00LWMtMS5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzExLjEuNV80LTQtYy0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU2ICsxLDU2IEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotLyoNCi0gIFJlZmVyIDExLjEuNTsgDQotICBUaGUgcHJvZHVjdGlvbg0KLSAgICAgUHJv
cGVydHlOYW1lQW5kVmFsdWVMaXN0IDogIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCAsIFByb3Bl
cnR5QXNzaWdubWVudA0KLSAgIDQuIElmIHByZXZpb3VzIGlzIG5vdCB1bmRlZmluZWQgdGhlbiB0
aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSB0cnVlDQotICAgICBjLklzQWNjZXNzb3JEZXNjcmlwdG9yKHByZXZpb3VzKSBp
cyB0cnVlIGFuZCBJc0RhdGFEZXNjcmlwdG9yKHByb3BJZC5kZXNjcmlwdG9yKSBpcyB0cnVlLg0K
LSovDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjExLjEuNV80LTQtYy0x
IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS4xLzExLjEuNS8xMS4xLjVfNC00
LWMtMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QgbGl0ZXJhbCAtIFN5bnRheEVycm9y
IGlmIGEgZ2V0IGFjY2Vzc29yIHByb3BlcnR5IGRlZmluaXRpb24gaXMgZm9sbG93ZWQgYnkgYSBk
YXRhIHByb3BlcnR5IGRlZmluaXRpb24gd2l0aCB0aGUgc2FtZSBuYW1lIiwNCi0NCi10ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHRyeQ0KLSAgew0KLSAgICBldmFsKCIoe2dldCBmb28o
KXt9LCBmb28gOiAxfSk7Iik7DQotICB9DQotICBjYXRjaChlKQ0KLSAgew0KLSAgICBpZihlIGlu
c3RhbmNlb2YgU3ludGF4RXJyb3IpDQotICAgICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQot
DQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiAoKSB7DQotICAgLy9hY2Nlc3NvciBwcm9wZXJ0aWVz
IGluIG9iamVjdCBsaXRlcmFscyBtdXN0IGJlIGFsbG93ZWQNCi0gIHRyeSB7ZXZhbCgiKHtzZXQg
Zm9vKHgpIHt9LCBnZXQgZm9vKCl7fX0pOyIpO30NCi0gIGNhdGNoKGUpIHtyZXR1cm4gZmFsc2V9
DQotICByZXR1cm4gdHJ1ZTsNCi19DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisv
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorCisKKy8qCisgIFJlZmVyIDExLjEuNTsgCisgIFRoZSBwcm9kdWN0aW9u
CisgICAgIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCA6ICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxp
c3QgLCBQcm9wZXJ0eUFzc2lnbm1lbnQKKyAgIDQuIElmIHByZXZpb3VzIGlzIG5vdCB1bmRlZmlu
ZWQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpZiBhbnkgb2YgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSB0cnVlCisgICAgIGMuSXNBY2Nlc3NvckRlc2NyaXB0b3IocHJl
dmlvdXMpIGlzIHRydWUgYW5kIElzRGF0YURlc2NyaXB0b3IocHJvcElkLmRlc2NyaXB0b3IpIGlz
IHRydWUuCisqLworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxMS4xLjVfNC00
LWMtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjExLzExLjEvMTEuMS41LzExLjEuNV80
LTQtYy0xLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QgbGl0ZXJhbCAtIFN5bnRheEVycm9y
IGlmIGEgZ2V0IGFjY2Vzc29yIHByb3BlcnR5IGRlZmluaXRpb24gaXMgZm9sbG93ZWQgYnkgYSBk
YXRhIHByb3BlcnR5IGRlZmluaXRpb24gd2l0aCB0aGUgc2FtZSBuYW1lIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgIHRyeQorICB7CisgICAgZXZhbCgiKHtnZXQgZm9vKCl7fSwg
Zm9vIDogMX0pOyIpOworICB9CisgIGNhdGNoKGUpCisgIHsKKyAgICBpZihlIGluc3RhbmNlb2Yg
U3ludGF4RXJyb3IpCisgICAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlv
bjogZnVuY3Rpb24gKCkgeworICAgLy9hY2Nlc3NvciBwcm9wZXJ0aWVzIGluIG9iamVjdCBsaXRl
cmFscyBtdXN0IGJlIGFsbG93ZWQKKyAgdHJ5IHtldmFsKCIoe3NldCBmb28oeCkge30sIGdldCBm
b28oKXt9fSk7Iik7fQorICBjYXRjaChlKSB7cmV0dXJuIGZhbHNlfQorICByZXR1cm4gdHJ1ZTsK
K30KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuMS41XzQtNC1jLTEuanMKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTEuMS41XzQtNC1jLTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjEuNV80LTQtYy0yLmpzCShyZXZpc2lvbiAxOTk1
NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEu
MS41XzQtNC1jLTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTYgKzEsNTYgQEAKLS8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQot
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi0v
Kg0KLSAgUmVmZXIgMTEuMS41OyANCi0gIFRoZSBwcm9kdWN0aW9uDQotICAgICBQcm9wZXJ0eU5h
bWVBbmRWYWx1ZUxpc3QgOiAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0ICwgUHJvcGVydHlBc3Np
Z25tZW50DQotICAgNC4gSWYgcHJldmlvdXMgaXMgbm90IHVuZGVmaW5lZCB0aGVuIHRocm93IGEg
U3ludGF4RXJyb3IgZXhjZXB0aW9uIGlmIGFueSBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIHRydWUNCi0gICAgIGMuSXNBY2Nlc3NvckRlc2NyaXB0b3IocHJldmlvdXMpIGlzIHRydWUg
YW5kIElzRGF0YURlc2NyaXB0b3IocHJvcElkLmRlc2NyaXB0b3IpIGlzIHRydWUuDQotKi8NCi0N
Ci1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTEuMS41XzQtNC1jLTIiLA0KLQ0K
LXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjExLzExLjEvMTEuMS41LzExLjEuNV80LTQtYy0yLmpz
IiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdCBsaXRlcmFsIC0gU3ludGF4RXJyb3IgaWYgYSBz
ZXQgYWNjZXNzb3IgcHJvcGVydHkgZGVmaW5pdGlvbiBpcyBmb2xsb3dlZCBieSBhIGRhdGEgcHJv
cGVydHkgZGVmaW5pdGlvbiB3aXRoIHRoZSBzYW1lIG5hbWUiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgew0KLSAgdHJ5DQotICB7DQotICAgIGV2YWwoIih7c2V0IGZvbyh4KXt9LCBm
b28gOiAxfSk7Iik7DQotICB9DQotICBjYXRjaChlKQ0KLSAgew0KLSAgICBpZihlIGluc3RhbmNl
b2YgU3ludGF4RXJyb3IpDQotICAgICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiAoKSB7DQotICAgLy9hY2Nlc3NvciBwcm9wZXJ0aWVzIGluIG9i
amVjdCBsaXRlcmFscyBtdXN0IGJlIGFsbG93ZWQNCi0gIHRyeSB7ZXZhbCgiKHtzZXQgZm9vKHgp
IHt9LCBnZXQgZm9vKCl7fX0pOyIpO30NCi0gIGNhdGNoKGUpIHtyZXR1cm4gZmFsc2V9Ow0KLSAg
cmV0dXJuIHRydWU7DQotfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKworCisvKgorICBSZWZlciAxMS4xLjU7IAorICBUaGUgcHJvZHVjdGlvbgorICAg
ICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgOiAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0ICwg
UHJvcGVydHlBc3NpZ25tZW50CisgICA0LiBJZiBwcmV2aW91cyBpcyBub3QgdW5kZWZpbmVkIHRo
ZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24gaWYgYW55IG9mIHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgdHJ1ZQorICAgICBjLklzQWNjZXNzb3JEZXNjcmlwdG9yKHByZXZpb3Vz
KSBpcyB0cnVlIGFuZCBJc0RhdGFEZXNjcmlwdG9yKHByb3BJZC5kZXNjcmlwdG9yKSBpcyB0cnVl
LgorKi8KKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTEuMS41XzQtNC1jLTIi
LAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS4xLzExLjEuNS8xMS4xLjVfNC00LWMt
Mi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0IGxpdGVyYWwgLSBTeW50YXhFcnJvciBpZiBh
IHNldCBhY2Nlc3NvciBwcm9wZXJ0eSBkZWZpbml0aW9uIGlzIGZvbGxvd2VkIGJ5IGEgZGF0YSBw
cm9wZXJ0eSBkZWZpbml0aW9uIHdpdGggdGhlIHNhbWUgbmFtZSIsCisKK3Rlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworICB0cnkKKyAgeworICAgIGV2YWwoIih7c2V0IGZvbyh4KXt9LCBmb28g
OiAxfSk7Iik7CisgIH0KKyAgY2F0Y2goZSkKKyAgeworICAgIGlmKGUgaW5zdGFuY2VvZiBTeW50
YXhFcnJvcikKKyAgICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiAoKSB7CisgICAvL2FjY2Vzc29yIHByb3BlcnRpZXMgaW4gb2JqZWN0IGxpdGVyYWxz
IG11c3QgYmUgYWxsb3dlZAorICB0cnkge2V2YWwoIih7c2V0IGZvbyh4KSB7fSwgZ2V0IGZvbygp
e319KTsiKTt9CisgIGNhdGNoKGUpIHtyZXR1cm4gZmFsc2V9OworICByZXR1cm4gdHJ1ZTsKK30K
KworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTEuMS41XzQtNC1jLTIuanMKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTEuMS41XzQtNC1kLTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjEuNV80LTQtZC0xLmpzCShyZXZpc2lvbiAxOTk1NDkp
CisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuMS41
XzQtNC1kLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTUgKzEsNTUgQEAKLS8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0K
LS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi0vKg0K
LSAgUmVmZXIgMTEuMS41OyANCi0gIFRoZSBwcm9kdWN0aW9uDQotICAgIFByb3BlcnR5TmFtZUFu
ZFZhbHVlTGlzdCA6ICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgLCBQcm9wZXJ0eUFzc2lnbm1l
bnQNCi0gIDQuIElmIHByZXZpb3VzIGlzIG5vdCB1bmRlZmluZWQgdGhlbiB0aHJvdyBhIFN5bnRh
eEVycm9yIGV4Y2VwdGlvbiBpZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSB0
cnVlDQotICAgIGQuIElzQWNjZXNzb3JEZXNjcmlwdG9yKHByZXZpb3VzKSBpcyB0cnVlIGFuZCBJ
c0FjY2Vzc29yRGVzY3JpcHRvcihwcm9wSWQuZGVzY3JpcHRvcikgaXMgdHJ1ZSBhbmQgZWl0aGVy
IGJvdGggcHJldmlvdXMgYW5kIHByb3BJZC5kZXNjcmlwdG9yIGhhdmUgW1tHZXRdXSBmaWVsZHMg
b3IgYm90aCBwcmV2aW91cyBhbmQgcHJvcElkLmRlc2NyaXB0b3IgaGF2ZSBbW1NldF1dIGZpZWxk
cw0KLSovDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjExLjEuNV80LTQt
ZC0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS4xLzExLjEuNS8xMS4xLjVf
NC00LWQtMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QgbGl0ZXJhbCAtIFN5bnRheEVy
cm9yIGZvciBkdXBsaWNhdGUgcHJvcGVydHkgbmFtZSAoZ2V0LGdldCkiLA0KLQ0KLXRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdHJ5DQotICB7DQotICAgIGV2YWwoIih7Z2V0IGZvbygp
e30sIGdldCBmb28oKXt9fSk7Iik7DQotICB9DQotICBjYXRjaChlKQ0KLSAgew0KLSAgICBpZihl
IGluc3RhbmNlb2YgU3ludGF4RXJyb3IpDQotICAgICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0s
DQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiAoKSB7DQotICAgLy9hY2Nlc3NvciBwcm9wZXJ0aWVz
IGluIG9iamVjdCBsaXRlcmFscyBtdXN0IGJlIGFsbG93ZWQNCi0gIHRyeSB7ZXZhbCgiKHtzZXQg
Zm9vKHgpIHt9LCBnZXQgZm9vKCl7fX0pOyIpO30NCi0gIGNhdGNoKGUpIHtyZXR1cm4gZmFsc2V9
DQotICByZXR1cm4gdHJ1ZTsNCi19DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisv
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorCisKKy8qCisgIFJlZmVyIDExLjEuNTsgCisgIFRoZSBwcm9kdWN0aW9u
CisgICAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0IDogIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlz
dCAsIFByb3BlcnR5QXNzaWdubWVudAorICA0LiBJZiBwcmV2aW91cyBpcyBub3QgdW5kZWZpbmVk
IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24gaWYgYW55IG9mIHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgdHJ1ZQorICAgIGQuIElzQWNjZXNzb3JEZXNjcmlwdG9yKHByZXZp
b3VzKSBpcyB0cnVlIGFuZCBJc0FjY2Vzc29yRGVzY3JpcHRvcihwcm9wSWQuZGVzY3JpcHRvcikg
aXMgdHJ1ZSBhbmQgZWl0aGVyIGJvdGggcHJldmlvdXMgYW5kIHByb3BJZC5kZXNjcmlwdG9yIGhh
dmUgW1tHZXRdXSBmaWVsZHMgb3IgYm90aCBwcmV2aW91cyBhbmQgcHJvcElkLmRlc2NyaXB0b3Ig
aGF2ZSBbW1NldF1dIGZpZWxkcworKi8KKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTEuMS41XzQtNC1kLTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS4xLzEx
LjEuNS8xMS4xLjVfNC00LWQtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0IGxpdGVyYWwg
LSBTeW50YXhFcnJvciBmb3IgZHVwbGljYXRlIHByb3BlcnR5IG5hbWUgKGdldCxnZXQpIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHRyeQorICB7CisgICAgZXZhbCgiKHtnZXQg
Zm9vKCl7fSwgZ2V0IGZvbygpe319KTsiKTsKKyAgfQorICBjYXRjaChlKQorICB7CisgICAgaWYo
ZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKQorICAgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAor
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiAoKSB7CisgICAvL2FjY2Vzc29yIHByb3BlcnRpZXMgaW4g
b2JqZWN0IGxpdGVyYWxzIG11c3QgYmUgYWxsb3dlZAorICB0cnkge2V2YWwoIih7c2V0IGZvbyh4
KSB7fSwgZ2V0IGZvbygpe319KTsiKTt9CisgIGNhdGNoKGUpIHtyZXR1cm4gZmFsc2V9CisgIHJl
dHVybiB0cnVlOworfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4xLjVfNC00LWQtMS5qcwpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xMS4xLjVfNC00LWQtMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuMS41XzQtNC1kLTIuanMJKHJl
dmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xMS4xLjVfNC00LWQtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1NiArMSw1NiBA
QAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0K
LS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IA0KLQ0KLQ0KLS8qDQotICBSZWZlciAxMS4xLjU7IA0KLSAgVGhlIHByb2R1Y3Rpb24NCi0gICAg
UHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0IDogIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCAsIFBy
b3BlcnR5QXNzaWdubWVudA0KLSAgNC4gSWYgcHJldmlvdXMgaXMgbm90IHVuZGVmaW5lZCB0aGVu
IHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uIGlmIGFueSBvZiB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIHRydWUNCi0gICAgZC4gSXNBY2Nlc3NvckRlc2NyaXB0b3IocHJldmlvdXMp
IGlzIHRydWUgYW5kIElzQWNjZXNzb3JEZXNjcmlwdG9yKHByb3BJZC5kZXNjcmlwdG9yKSBpcyB0
cnVlIGFuZCBlaXRoZXIgYm90aCBwcmV2aW91cyBhbmQgcHJvcElkLmRlc2NyaXB0b3IgaGF2ZSBb
W0dldF1dIGZpZWxkcyBvciBib3RoIHByZXZpb3VzIGFuZCBwcm9wSWQuZGVzY3JpcHRvciBoYXZl
IFtbU2V0XV0gZmllbGRzDQotKi8NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlk
OiAiMTEuMS41XzQtNC1kLTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjExLzExLjEv
MTEuMS41LzExLjEuNV80LTQtZC0yLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdCBsaXRl
cmFsIC0gU3ludGF4RXJyb3IgZm9yIGR1cGxpY2F0ZSBwcm9wZXJ0eSBuYW1lIChzZXQsc2V0KSIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB0cnkNCi0gIHsNCi0gICAgZXZh
bCgiKHtzZXQgZm9vKGFyZyl7fSwgc2V0IGZvbyhhcmcxKXt9fSk7Iik7DQotICB9DQotICBjYXRj
aChlKQ0KLSAgew0KLSAgICBpZihlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpDQotICAgICAgcmV0
dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiAoKSB7DQot
ICAgLy9hY2Nlc3NvciBwcm9wZXJ0aWVzIGluIG9iamVjdCBsaXRlcmFscyBtdXN0IGJlIGFsbG93
ZWQNCi0gIHRyeSB7ZXZhbCgiKHtzZXQgZm9vKHgpIHt9LCBnZXQgZm9vKCl7fX0pOyIpO30NCi0g
IGNhdGNoKGUpIHtyZXR1cm4gZmFsc2V9DQotICByZXR1cm4gdHJ1ZTsNCi19DQotDQotfSk7DQor
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKKy8qCisgIFJlZmVyIDEx
LjEuNTsgCisgIFRoZSBwcm9kdWN0aW9uCisgICAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0IDog
IFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCAsIFByb3BlcnR5QXNzaWdubWVudAorICA0LiBJZiBw
cmV2aW91cyBpcyBub3QgdW5kZWZpbmVkIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRp
b24gaWYgYW55IG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgdHJ1ZQorICAgIGQuIElz
QWNjZXNzb3JEZXNjcmlwdG9yKHByZXZpb3VzKSBpcyB0cnVlIGFuZCBJc0FjY2Vzc29yRGVzY3Jp
cHRvcihwcm9wSWQuZGVzY3JpcHRvcikgaXMgdHJ1ZSBhbmQgZWl0aGVyIGJvdGggcHJldmlvdXMg
YW5kIHByb3BJZC5kZXNjcmlwdG9yIGhhdmUgW1tHZXRdXSBmaWVsZHMgb3IgYm90aCBwcmV2aW91
cyBhbmQgcHJvcElkLmRlc2NyaXB0b3IgaGF2ZSBbW1NldF1dIGZpZWxkcworKi8KKworRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTEuMS41XzQtNC1kLTIiLAorCitwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxMS8xMS4xLzExLjEuNS8xMS4xLjVfNC00LWQtMi5qcyIsCisKK2Rlc2Ny
aXB0aW9uOiAiT2JqZWN0IGxpdGVyYWwgLSBTeW50YXhFcnJvciBmb3IgZHVwbGljYXRlIHByb3Bl
cnR5IG5hbWUgKHNldCxzZXQpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHRy
eQorICB7CisgICAgZXZhbCgiKHtzZXQgZm9vKGFyZyl7fSwgc2V0IGZvbyhhcmcxKXt9fSk7Iik7
CisgIH0KKyAgY2F0Y2goZSkKKyAgeworICAgIGlmKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikK
KyAgICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiAo
KSB7CisgICAvL2FjY2Vzc29yIHByb3BlcnRpZXMgaW4gb2JqZWN0IGxpdGVyYWxzIG11c3QgYmUg
YWxsb3dlZAorICB0cnkge2V2YWwoIih7c2V0IGZvbyh4KSB7fSwgZ2V0IGZvbygpe319KTsiKTt9
CisgIGNhdGNoKGUpIHtyZXR1cm4gZmFsc2V9CisgIHJldHVybiB0cnVlOworfQorCit9KTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xMS4xLjVfNC00LWQtMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4xLjVfNC00
LWQtMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTEuMS41XzQtNC1kLTMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4xLjVfNC00LWQtMy5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw1NiArMSw1NiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLS8qDQotICBSZWZlciAx
MS4xLjU7IA0KLSAgVGhlIHByb2R1Y3Rpb24NCi0gICAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0
IDogIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCAsIFByb3BlcnR5QXNzaWdubWVudA0KLSAgNC4g
SWYgcHJldmlvdXMgaXMgbm90IHVuZGVmaW5lZCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhj
ZXB0aW9uIGlmIGFueSBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIHRydWUNCi0gICAg
ZC4gSXNBY2Nlc3NvckRlc2NyaXB0b3IocHJldmlvdXMpIGlzIHRydWUgYW5kIElzQWNjZXNzb3JE
ZXNjcmlwdG9yKHByb3BJZC5kZXNjcmlwdG9yKSBpcyB0cnVlIGFuZCBlaXRoZXIgYm90aCBwcmV2
aW91cyBhbmQgcHJvcElkLmRlc2NyaXB0b3IgaGF2ZSBbW0dldF1dIGZpZWxkcyBvciBib3RoIHBy
ZXZpb3VzIGFuZCBwcm9wSWQuZGVzY3JpcHRvciBoYXZlIFtbU2V0XV0gZmllbGRzDQotKi8NCi0N
Ci1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTEuMS41XzQtNC1kLTMiLA0KLQ0K
LXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjExLzExLjEvMTEuMS41LzExLjEuNV80LTQtZC0zLmpz
IiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdCBsaXRlcmFsIC0gU3ludGF4RXJyb3IgZm9yIGR1
cGxpY2F0ZSBwcm9wZXJ0eSBuYW1lIChnZXQsc2V0LGdldCkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgew0KLSAgdHJ5DQotICB7DQotICAgIGV2YWwoIih7Z2V0IGZvbygpe30sIHNl
dCBmb28oYXJnKXt9LCBnZXQgZm9vKCl7fX0pOyIpOw0KLSAgfQ0KLSAgY2F0Y2goZSkNCi0gIHsN
Ci0gICAgaWYoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKQ0KLSAgICAgIHJldHVybiB0cnVlOw0K
LSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gKCkgew0KLSAgIC8vYWNjZXNz
b3IgcHJvcGVydGllcyBpbiBvYmplY3QgbGl0ZXJhbHMgbXVzdCBiZSBhbGxvd2VkDQotICB0cnkg
e2V2YWwoIih7c2V0IGZvbyh4KSB7fSwgZ2V0IGZvbygpe319KTsiKTt9DQotICBjYXRjaChlKSB7
cmV0dXJuIGZhbHNlfQ0KLSAgcmV0dXJuIHRydWU7DQotfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCisvKgorICBSZWZlciAxMS4xLjU7IAorICBU
aGUgcHJvZHVjdGlvbgorICAgIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCA6ICBQcm9wZXJ0eU5h
bWVBbmRWYWx1ZUxpc3QgLCBQcm9wZXJ0eUFzc2lnbm1lbnQKKyAgNC4gSWYgcHJldmlvdXMgaXMg
bm90IHVuZGVmaW5lZCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uIGlmIGFueSBv
ZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIHRydWUKKyAgICBkLiBJc0FjY2Vzc29yRGVz
Y3JpcHRvcihwcmV2aW91cykgaXMgdHJ1ZSBhbmQgSXNBY2Nlc3NvckRlc2NyaXB0b3IocHJvcElk
LmRlc2NyaXB0b3IpIGlzIHRydWUgYW5kIGVpdGhlciBib3RoIHByZXZpb3VzIGFuZCBwcm9wSWQu
ZGVzY3JpcHRvciBoYXZlIFtbR2V0XV0gZmllbGRzIG9yIGJvdGggcHJldmlvdXMgYW5kIHByb3BJ
ZC5kZXNjcmlwdG9yIGhhdmUgW1tTZXRdXSBmaWVsZHMKKyovCisKK0VTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7CitpZDogIjExLjEuNV80LTQtZC0zIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTEvMTEuMS8xMS4xLjUvMTEuMS41XzQtNC1kLTMuanMiLAorCitkZXNjcmlwdGlvbjogIk9i
amVjdCBsaXRlcmFsIC0gU3ludGF4RXJyb3IgZm9yIGR1cGxpY2F0ZSBwcm9wZXJ0eSBuYW1lIChn
ZXQsc2V0LGdldCkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdHJ5CisgIHsK
KyAgICBldmFsKCIoe2dldCBmb28oKXt9LCBzZXQgZm9vKGFyZyl7fSwgZ2V0IGZvbygpe319KTsi
KTsKKyAgfQorICBjYXRjaChlKQorICB7CisgICAgaWYoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9y
KQorICAgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9u
ICgpIHsKKyAgIC8vYWNjZXNzb3IgcHJvcGVydGllcyBpbiBvYmplY3QgbGl0ZXJhbHMgbXVzdCBi
ZSBhbGxvd2VkCisgIHRyeSB7ZXZhbCgiKHtzZXQgZm9vKHgpIHt9LCBnZXQgZm9vKCl7fX0pOyIp
O30KKyAgY2F0Y2goZSkge3JldHVybiBmYWxzZX0KKyAgcmV0dXJuIHRydWU7Cit9CisKK30pOwoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzExLjEuNV80LTQtZC0zLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjEuNV80
LTQtZC00LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xMS4xLjVfNC00LWQtNC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjEuNV80LTQtZC00
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU2ICsxLDU2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotLyoNCi0gIFJlZmVy
IDExLjEuNTsgDQotICBUaGUgcHJvZHVjdGlvbg0KLSAgICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxp
c3QgOiAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0ICwgUHJvcGVydHlBc3NpZ25tZW50DQotICA0
LiBJZiBwcmV2aW91cyBpcyBub3QgdW5kZWZpbmVkIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBl
eGNlcHRpb24gaWYgYW55IG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgdHJ1ZQ0KLSAg
ICBkLiBJc0FjY2Vzc29yRGVzY3JpcHRvcihwcmV2aW91cykgaXMgdHJ1ZSBhbmQgSXNBY2Nlc3Nv
ckRlc2NyaXB0b3IocHJvcElkLmRlc2NyaXB0b3IpIGlzIHRydWUgYW5kIGVpdGhlciBib3RoIHBy
ZXZpb3VzIGFuZCBwcm9wSWQuZGVzY3JpcHRvciBoYXZlIFtbR2V0XV0gZmllbGRzIG9yIGJvdGgg
cHJldmlvdXMgYW5kIHByb3BJZC5kZXNjcmlwdG9yIGhhdmUgW1tTZXRdXSBmaWVsZHMNCi0qLw0K
LQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxMS4xLjVfNC00LWQtNCIsDQot
DQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTEvMTEuMS8xMS4xLjUvMTEuMS41XzQtNC1kLTQu
anMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0IGxpdGVyYWwgLSBTeW50YXhFcnJvciBmb3Ig
ZHVwbGljYXRlIHByb3BlcnR5IG5hbWUgKHNldCxnZXQsc2V0KSIsDQotDQotdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7DQotICB0cnkNCi0gIHsNCi0gICAgZXZhbCgiKHtzZXQgZm9vKGFyZyl7
fSwgZ2V0IGZvbygpe30sIHNldCBmb28oYXJnMSl7fX0pOyIpOw0KLSAgfQ0KLSAgY2F0Y2goZSkN
Ci0gIHsNCi0gICAgaWYoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKQ0KLSAgICAgIHJldHVybiB0
cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gKCkgew0KLSAgIC8v
YWNjZXNzb3IgcHJvcGVydGllcyBpbiBvYmplY3QgbGl0ZXJhbHMgbXVzdCBiZSBhbGxvd2VkDQot
ICB0cnkge2V2YWwoIih7c2V0IGZvbyh4KSB7fSwgZ2V0IGZvbygpe319KTsiKTt9DQotICBjYXRj
aChlKSB7cmV0dXJuIGZhbHNlfQ0KLSAgcmV0dXJuIHRydWU7DQotfQ0KLQ0KLX0pOw0KKy8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisv
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCisvKgorICBSZWZlciAxMS4xLjU7
IAorICBUaGUgcHJvZHVjdGlvbgorICAgIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCA6ICBQcm9w
ZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgLCBQcm9wZXJ0eUFzc2lnbm1lbnQKKyAgNC4gSWYgcHJldmlv
dXMgaXMgbm90IHVuZGVmaW5lZCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uIGlm
IGFueSBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIHRydWUKKyAgICBkLiBJc0FjY2Vz
c29yRGVzY3JpcHRvcihwcmV2aW91cykgaXMgdHJ1ZSBhbmQgSXNBY2Nlc3NvckRlc2NyaXB0b3Io
cHJvcElkLmRlc2NyaXB0b3IpIGlzIHRydWUgYW5kIGVpdGhlciBib3RoIHByZXZpb3VzIGFuZCBw
cm9wSWQuZGVzY3JpcHRvciBoYXZlIFtbR2V0XV0gZmllbGRzIG9yIGJvdGggcHJldmlvdXMgYW5k
IHByb3BJZC5kZXNjcmlwdG9yIGhhdmUgW1tTZXRdXSBmaWVsZHMKKyovCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7CitpZDogIjExLjEuNV80LTQtZC00IiwKKworcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTEvMTEuMS8xMS4xLjUvMTEuMS41XzQtNC1kLTQuanMiLAorCitkZXNjcmlwdGlv
bjogIk9iamVjdCBsaXRlcmFsIC0gU3ludGF4RXJyb3IgZm9yIGR1cGxpY2F0ZSBwcm9wZXJ0eSBu
YW1lIChzZXQsZ2V0LHNldCkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdHJ5
CisgIHsKKyAgICBldmFsKCIoe3NldCBmb28oYXJnKXt9LCBnZXQgZm9vKCl7fSwgc2V0IGZvbyhh
cmcxKXt9fSk7Iik7CisgIH0KKyAgY2F0Y2goZSkKKyAgeworICAgIGlmKGUgaW5zdGFuY2VvZiBT
eW50YXhFcnJvcikKKyAgICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiAoKSB7CisgICAvL2FjY2Vzc29yIHByb3BlcnRpZXMgaW4gb2JqZWN0IGxpdGVy
YWxzIG11c3QgYmUgYWxsb3dlZAorICB0cnkge2V2YWwoIih7c2V0IGZvbyh4KSB7fSwgZ2V0IGZv
bygpe319KTsiKTt9CisgIGNhdGNoKGUpIHtyZXR1cm4gZmFsc2V9CisgIHJldHVybiB0cnVlOwor
fQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4xLjVfNC00LWQtNC5qcwpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xMS4xLjVfNS00LTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjEuNV81LTQtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQor
KysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjEuNV81
LTQtMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1MSArMSw1MSBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLS8qDQotICBS
ZWZlciAxMS4xLjU7IA0KLSAgVGhlIHByb2R1Y3Rpb24NCi0gICAgIFByb3BlcnR5QXNzaWdubWVu
dCA6IFByb3BlcnR5TmFtZSA6IEFzc2lnbm1lbnRFeHByZXNzaW9uIA0KLSAgNC5MZXQgZGVzYyBi
ZSB0aGUgUHJvcGVydHkgRGVzY3JpcHRvcntbW1ZhbHVlXV06IHByb3BWYWx1ZSwgW1tXcml0YWJs
ZV1dOiB0cnVlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZX0N
Ci0qLw0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxMS4xLjVfNS00LTEi
LA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjExLzExLjEvMTEuMS41LzExLjEuNV81LTQt
MS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QgbGl0ZXJhbCAtIHByb3BlcnR5IGRlc2Ny
aXB0b3IgZm9yIGFzc2lnbm1lbnQgZXhwcmVzc2lvbiIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7DQotDQotICB2YXIgbyA9IHtmb28gOiAxfTsNCi0gIHZhciBkZXNjID0gT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCJmb28iKTsNCi0gIGlmKGRlc2MudmFsdWUgPT09
IDEgJiYNCi0gICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgIGRlc2MuZW51bWVy
YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpDQotICAg
IHJldHVybiB0cnVlOw0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gKCkgew0KLSAg
cmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQot
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKKy8qCisg
IFJlZmVyIDExLjEuNTsgCisgIFRoZSBwcm9kdWN0aW9uCisgICAgIFByb3BlcnR5QXNzaWdubWVu
dCA6IFByb3BlcnR5TmFtZSA6IEFzc2lnbm1lbnRFeHByZXNzaW9uIAorICA0LkxldCBkZXNjIGJl
IHRoZSBQcm9wZXJ0eSBEZXNjcmlwdG9ye1tbVmFsdWVdXTogcHJvcFZhbHVlLCBbW1dyaXRhYmxl
XV06IHRydWUsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlfQor
Ki8KKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTEuMS41XzUtNC0xIiwKKwor
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTEvMTEuMS8xMS4xLjUvMTEuMS41XzUtNC0xLmpzIiwK
KworZGVzY3JpcHRpb246ICJPYmplY3QgbGl0ZXJhbCAtIHByb3BlcnR5IGRlc2NyaXB0b3IgZm9y
IGFzc2lnbm1lbnQgZXhwcmVzc2lvbiIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewor
CisgIHZhciBvID0ge2ZvbyA6IDF9OworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IobywiZm9vIik7CisgIGlmKGRlc2MudmFsdWUgPT09IDEgJiYKKyAgICAgZGVz
Yy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICBkZXNjLmVudW1lcmFibGUgPT09IHRydWUgJiYK
KyAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpCisgICAgcmV0dXJuIHRydWU7CisgfSwK
KworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiAoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjEuNV81
LTQtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xG
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4xLjVfNi0zLTEuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjEuNV82
LTMtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzExLjEuNV82LTMtMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1
MiArMSw1MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
DQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQot
Ly8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIA0KLQ0KLQ0KLS8qDQotICBSZWZlciAxMS4xLjU7IA0KLSAgVGhlIHByb2R1Y3Rp
b24NCi0gICAgIFByb3BlcnR5QXNzaWdubWVudCA6IGdldCBQcm9wZXJ0eU5hbWUgKCApIHsgRnVu
Y3Rpb25Cb2R5IH0gDQotICAzLkxldCBkZXNjIGJlIHRoZSBQcm9wZXJ0eSBEZXNjcmlwdG9ye1tb
R2V0XV06IGNsb3N1cmUsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0
cnVlfQ0KLSovDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjExLjEuNV82
LTMtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTEvMTEuMS8xMS4xLjUvMTEuMS41
XzYtMy0xLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdCBsaXRlcmFsIC0gcHJvcGVydHkg
ZGVzY3JpcHRvciBmb3IgZ2V0IHByb3BlcnR5IGFzc2lnbm1lbnQiLA0KLQ0KLXRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgZXZhbCgidmFyIG8gPSB7Z2V0IGZvbygpe3JldHVybiAx
O319OyIpOw0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8s
ImZvbyIpOw0KLSAgaWYoZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlICYmDQotICAgICBkZXNjLmNv
bmZpZ3VyYWJsZSA9PT0gdHJ1ZSkNCi0gICAgcmV0dXJuIHRydWU7DQotIH0sDQotDQotcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiAoKSB7DQotICAgLy9hY2Nlc3NvciBwcm9wZXJ0aWVzIGluIG9iamVj
dCBsaXRlcmFscyBtdXN0IGJlIGFsbG93ZWQNCi0gIHRyeSB7ZXZhbCgiKHtzZXQgZm9vKHgpIHt9
LCBnZXQgZm9vKCl7fX0pOyIpO30NCi0gIGNhdGNoKGUpIHtyZXR1cm4gZmFsc2V9DQotICByZXR1
cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotfQ0KLQ0KLX0p
Ow0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAor
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisv
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCisvKgorICBSZWZl
ciAxMS4xLjU7IAorICBUaGUgcHJvZHVjdGlvbgorICAgICBQcm9wZXJ0eUFzc2lnbm1lbnQgOiBn
ZXQgUHJvcGVydHlOYW1lICggKSB7IEZ1bmN0aW9uQm9keSB9IAorICAzLkxldCBkZXNjIGJlIHRo
ZSBQcm9wZXJ0eSBEZXNjcmlwdG9ye1tbR2V0XV06IGNsb3N1cmUsIFtbRW51bWVyYWJsZV1dOiB0
cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlfQorKi8KKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKK2lkOiAiMTEuMS41XzYtMy0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTEv
MTEuMS8xMS4xLjUvMTEuMS41XzYtMy0xLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QgbGl0
ZXJhbCAtIHByb3BlcnR5IGRlc2NyaXB0b3IgZm9yIGdldCBwcm9wZXJ0eSBhc3NpZ25tZW50IiwK
KwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgZXZhbCgidmFyIG8gPSB7Z2V0IGZv
bygpe3JldHVybiAxO319OyIpOworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IobywiZm9vIik7CisgIGlmKGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJgorICAg
ICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkKKyAgICByZXR1cm4gdHJ1ZTsKKyB9LAorCitw
cmVjb25kaXRpb246IGZ1bmN0aW9uICgpIHsKKyAgIC8vYWNjZXNzb3IgcHJvcGVydGllcyBpbiBv
YmplY3QgbGl0ZXJhbHMgbXVzdCBiZSBhbGxvd2VkCisgIHRyeSB7ZXZhbCgiKHtzZXQgZm9vKHgp
IHt9LCBnZXQgZm9vKCl7fX0pOyIpO30KKyAgY2F0Y2goZSkge3JldHVybiBmYWxzZX0KKyAgcmV0
dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworfQorCit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xMS4xLjVfNi0zLTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHls
ZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuMS41XzYt
My0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xMS4xLjVfNi0zLTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4xLjVfNi0zLTIuanMJKHdv
cmtpbmcgY29weSkKQEAgLTEsNTAgKzEsNTAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QN
Ci0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi0vKg0KLSAgUmVmZXIgMTEuMS41
OyANCi0gIFRoZSBwcm9kdWN0aW9uDQotICAgICBQcm9wZXJ0eUFzc2lnbm1lbnQgOiBnZXQgUHJv
cGVydHlOYW1lICggKSB7IEZ1bmN0aW9uQm9keSB9IA0KLSAgMy5MZXQgZGVzYyBiZSB0aGUgUHJv
cGVydHkgRGVzY3JpcHRvcntbW0dldF1dOiBjbG9zdXJlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwg
W1tDb25maWd1cmFibGVdXTogdHJ1ZX0NCi0qLw0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7DQotaWQ6ICIxMS4xLjVfNi0zLTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjEx
LzExLjEvMTEuMS41LzExLjEuNV82LTMtMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3Qg
bGl0ZXJhbCAtIHByb3BlcnR5IGRlc2NyaXB0b3IgZm9yIGdldCBwcm9wZXJ0eSBhc3NpZ25tZW50
IHNob3VsZCBub3QgY3JlYXRlIGEgc2V0IGZ1bmN0aW9uIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsNCi0NCi0gIGV2YWwoInZhciBvID0ge2dldCBmb28oKXtyZXR1cm4gMTt9fTsi
KTsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCJmb28i
KTsNCi0gIHJldHVybiBkZXNjLnNldCA9PT0gdW5kZWZpbmVkDQotIH0sDQotDQotcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiAoKSB7DQotICAgLy9hY2Nlc3NvciBwcm9wZXJ0aWVzIGluIG9iamVjdCBs
aXRlcmFscyBtdXN0IGJlIGFsbG93ZWQNCi0gIHRyeSB7ZXZhbCgiKHtzZXQgZm9vKHgpIHt9LCBn
ZXQgZm9vKCl7fX0pOyIpO30NCi0gIGNhdGNoKGUpIHtyZXR1cm4gZmFsc2V9DQotICByZXR1cm4g
Zm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7Ow0KLX0NCi0NCi19KTsN
CisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworLyoKKyAgUmVmZXIg
MTEuMS41OyAKKyAgVGhlIHByb2R1Y3Rpb24KKyAgICAgUHJvcGVydHlBc3NpZ25tZW50IDogZ2V0
IFByb3BlcnR5TmFtZSAoICkgeyBGdW5jdGlvbkJvZHkgfSAKKyAgMy5MZXQgZGVzYyBiZSB0aGUg
UHJvcGVydHkgRGVzY3JpcHRvcntbW0dldF1dOiBjbG9zdXJlLCBbW0VudW1lcmFibGVdXTogdHJ1
ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZX0KKyovCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7CitpZDogIjExLjEuNV82LTMtMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjExLzEx
LjEvMTEuMS41LzExLjEuNV82LTMtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0IGxpdGVy
YWwgLSBwcm9wZXJ0eSBkZXNjcmlwdG9yIGZvciBnZXQgcHJvcGVydHkgYXNzaWdubWVudCBzaG91
bGQgbm90IGNyZWF0ZSBhIHNldCBmdW5jdGlvbiIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgeworCisgIGV2YWwoInZhciBvID0ge2dldCBmb28oKXtyZXR1cm4gMTt9fTsiKTsKKyAgdmFy
IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sImZvbyIpOworICByZXR1
cm4gZGVzYy5zZXQgPT09IHVuZGVmaW5lZAorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24g
KCkgeworICAgLy9hY2Nlc3NvciBwcm9wZXJ0aWVzIGluIG9iamVjdCBsaXRlcmFscyBtdXN0IGJl
IGFsbG93ZWQKKyAgdHJ5IHtldmFsKCIoe3NldCBmb28oeCkge30sIGdldCBmb28oKXt9fSk7Iik7
fQorICBjYXRjaChlKSB7cmV0dXJuIGZhbHNlfQorICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcik7OworfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4xLjVfNi0z
LTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuMS41XzctMy0xLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4xLjVfNy0z
LTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xMS4xLjVfNy0zLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTIg
KzEsNTIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiANCi0NCi0NCi0vKg0KLSAgUmVmZXIgMTEuMS41OyANCi0gIFRoZSBwcm9kdWN0aW9u
DQotICAgICBQcm9wZXJ0eUFzc2lnbm1lbnQgOiBzZXQgUHJvcGVydHlOYW1lKCBQcm9wZXJ0eVNl
dFBhcmFtZXRlckxpc3QgKSB7IEZ1bmN0aW9uQm9keSB9IA0KLSAgMy5MZXQgZGVzYyBiZSB0aGUg
UHJvcGVydHkgRGVzY3JpcHRvcntbW1NldF1dOiBjbG9zdXJlLCBbW0VudW1lcmFibGVdXTogdHJ1
ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZX0NCi0qLw0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7DQotaWQ6ICIxMS4xLjVfNy0zLTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjExLzExLjEvMTEuMS41LzExLjEuNV83LTMtMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmpl
Y3QgbGl0ZXJhbCAtIHByb3BlcnR5IGRlc2NyaXB0b3IgZm9yIHNldCBwcm9wZXJ0eSBhc3NpZ25t
ZW50IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gIGV2YWwoInZhciBv
ID0ge3NldCBmb28oYXJnKXtyZXR1cm4gMTt9fTsiKTsNCi0gIHZhciBkZXNjID0gT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihvLCJmb28iKTsNCi0gIGlmKGRlc2MuZW51bWVyYWJsZSA9
PT0gdHJ1ZSAmJg0KLSAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpDQotICAgIHJldHVy
biB0cnVlOw0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gKCkgew0KLSAgIC8vYWNj
ZXNzb3IgcHJvcGVydGllcyBpbiBvYmplY3QgbGl0ZXJhbHMgbXVzdCBiZSBhbGxvd2VkDQotICB0
cnkge2V2YWwoIih7c2V0IGZvbyh4KSB7fSwgZ2V0IGZvbygpe319KTsiKTt9DQotICBjYXRjaChl
KSB7cmV0dXJuIGZhbHNlfQ0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IpOzsNCi19DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorCisKKy8qCisgIFJlZmVyIDExLjEuNTsgCisgIFRoZSBwcm9kdWN0aW9uCisg
ICAgIFByb3BlcnR5QXNzaWdubWVudCA6IHNldCBQcm9wZXJ0eU5hbWUoIFByb3BlcnR5U2V0UGFy
YW1ldGVyTGlzdCApIHsgRnVuY3Rpb25Cb2R5IH0gCisgIDMuTGV0IGRlc2MgYmUgdGhlIFByb3Bl
cnR5IERlc2NyaXB0b3J7W1tTZXRdXTogY2xvc3VyZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtb
Q29uZmlndXJhYmxlXV06IHRydWV9CisqLworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxMS4xLjVfNy0zLTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS4xLzEx
LjEuNS8xMS4xLjVfNy0zLTEuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdCBsaXRlcmFsIC0g
cHJvcGVydHkgZGVzY3JpcHRvciBmb3Igc2V0IHByb3BlcnR5IGFzc2lnbm1lbnQiLAorCit0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICBldmFsKCJ2YXIgbyA9IHtzZXQgZm9vKGFyZyl7
cmV0dXJuIDE7fX07Iik7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihvLCJmb28iKTsKKyAgaWYoZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlICYmCisgICAgIGRl
c2MuY29uZmlndXJhYmxlID09PSB0cnVlKQorICAgIHJldHVybiB0cnVlOworIH0sCisKK3ByZWNv
bmRpdGlvbjogZnVuY3Rpb24gKCkgeworICAgLy9hY2Nlc3NvciBwcm9wZXJ0aWVzIGluIG9iamVj
dCBsaXRlcmFscyBtdXN0IGJlIGFsbG93ZWQKKyAgdHJ5IHtldmFsKCIoe3NldCBmb28oeCkge30s
IGdldCBmb28oKXt9fSk7Iik7fQorICBjYXRjaChlKSB7cmV0dXJuIGZhbHNlfQorICByZXR1cm4g
Zm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7OworfQorCit9KTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xMS4xLjVfNy0zLTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQoj
IyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuMS41XzctMy0y
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xMS4xLjVfNy0zLTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4xLjVfNy0zLTIuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNTAgKzEsNTAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi0vKg0KLSAgUmVmZXIgMTEuMS41OyAN
Ci0gIFRoZSBwcm9kdWN0aW9uDQotICAgICBQcm9wZXJ0eUFzc2lnbm1lbnQgOiBnZXQgUHJvcGVy
dHlOYW1lICggKSB7IEZ1bmN0aW9uQm9keSB9IA0KLSAgMy5MZXQgZGVzYyBiZSB0aGUgUHJvcGVy
dHkgRGVzY3JpcHRvcntbW0dldF1dOiBjbG9zdXJlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tD
b25maWd1cmFibGVdXTogdHJ1ZX0NCi0qLw0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
DQotaWQ6ICIxMS4xLjVfNy0zLTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjExLzEx
LjEvMTEuMS41LzExLjEuNV83LTMtMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QgbGl0
ZXJhbCAtIHByb3BlcnR5IGRlc2NyaXB0b3IgZm9yIHNldCBwcm9wZXJ0eSBhc3NpZ25tZW50IHNo
b3VsZCBub3QgY3JlYXRlIGEgZ2V0IGZ1bmN0aW9uIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsNCi0NCi0gIGV2YWwoInZhciBvID0ge3NldCBmb28oYXJnKXt9fTsiKTsNCi0gIHZh
ciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCJmb28iKTsNCi0gIHJl
dHVybiBkZXNjLmdldCA9PT0gdW5kZWZpbmVkDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiAoKSB7DQotICAgLy9hY2Nlc3NvciBwcm9wZXJ0aWVzIGluIG9iamVjdCBsaXRlcmFscyBt
dXN0IGJlIGFsbG93ZWQNCi0gIHRyeSB7ZXZhbCgiKHtzZXQgZm9vKHgpIHt9LCBnZXQgZm9vKCl7
fX0pOyIpO30NCi0gIGNhdGNoKGUpIHtyZXR1cm4gZmFsc2V9DQotICByZXR1cm4gZm5FeGlzdHMo
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7Ow0KLX0NCi0NCi19KTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworLyoKKyAgUmVmZXIgMTEuMS41OyAK
KyAgVGhlIHByb2R1Y3Rpb24KKyAgICAgUHJvcGVydHlBc3NpZ25tZW50IDogZ2V0IFByb3BlcnR5
TmFtZSAoICkgeyBGdW5jdGlvbkJvZHkgfSAKKyAgMy5MZXQgZGVzYyBiZSB0aGUgUHJvcGVydHkg
RGVzY3JpcHRvcntbW0dldF1dOiBjbG9zdXJlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25m
aWd1cmFibGVdXTogdHJ1ZX0KKyovCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDog
IjExLjEuNV83LTMtMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjExLzExLjEvMTEuMS41
LzExLjEuNV83LTMtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0IGxpdGVyYWwgLSBwcm9w
ZXJ0eSBkZXNjcmlwdG9yIGZvciBzZXQgcHJvcGVydHkgYXNzaWdubWVudCBzaG91bGQgbm90IGNy
ZWF0ZSBhIGdldCBmdW5jdGlvbiIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisg
IGV2YWwoInZhciBvID0ge3NldCBmb28oYXJnKXt9fTsiKTsKKyAgdmFyIGRlc2MgPSBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sImZvbyIpOworICByZXR1cm4gZGVzYy5nZXQgPT09
IHVuZGVmaW5lZAorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gKCkgeworICAgLy9hY2Nl
c3NvciBwcm9wZXJ0aWVzIGluIG9iamVjdCBsaXRlcmFscyBtdXN0IGJlIGFsbG93ZWQKKyAgdHJ5
IHtldmFsKCIoe3NldCBmb28oeCkge30sIGdldCBmb28oKXt9fSk7Iik7fQorICBjYXRjaChlKSB7
cmV0dXJuIGZhbHNlfQorICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcik7OworfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4xLjVfNy0zLTIuanMKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTEuMTMuMS0xLTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjEzLjEtMS0xLmpzCShyZXZpc2lvbiAx
OTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTEuMTMuMS0xLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQot
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0vKg0K
LVB1dFZhbHVlIG9wZXJhdGVzIG9ubHkgb24gcmVmZXJlbmNlcyAoc2VlIHN0ZXAgMSkNCi0qLw0K
LQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxMS4xMy4xLTEtMSIsDQotDQot
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTEtMS5qcyIs
DQotDQotZGVzY3JpcHRpb246ICJzaW1wbGUgYXNzaWdubWVudCB0aHJvd3MgUmVmZXJlbmNlRXJy
b3IgaWYgTGVmdEhhbmRTaWRlIGlzIG5vdCBhIHJlZmVyZW5jZSAoc3RyaW5nKSIsDQotDQotdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB0cnkgew0KLSAgICBldmFsKCI0MiA9IDQyIik7
DQotICB9DQotICBjYXRjaCAoZSkgew0KLSAgICBpZiAoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVy
cm9yKSB7DQotICAgICAgcmV0dXJuIHRydWU7DQotICAgIH0NCi0gIH0NCi0gfQ0KLX0pOw0KKy8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworLyoKK1B1dFZhbHVlIG9wZXJh
dGVzIG9ubHkgb24gcmVmZXJlbmNlcyAoc2VlIHN0ZXAgMSkKKyovCisKK0VTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7CitpZDogIjExLjEzLjEtMS0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTEtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAic2lt
cGxlIGFzc2lnbm1lbnQgdGhyb3dzIFJlZmVyZW5jZUVycm9yIGlmIExlZnRIYW5kU2lkZSBpcyBu
b3QgYSByZWZlcmVuY2UgKHN0cmluZykiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsK
KyAgdHJ5IHsKKyAgICBldmFsKCI0MiA9IDQyIik7CisgIH0KKyAgY2F0Y2ggKGUpIHsKKyAgICBp
ZiAoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSB7CisgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICB9CisgIH0KKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4xMy4xLTEtMS5qcwpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xMS4xMy4xLTEtMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuMTMuMS0xLTIuanMJKHJldmlzaW9uIDE5OTU0
OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4x
My4xLTEtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MyArMSw0MyBAQAotLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQot
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLS8qDQotUHV0
VmFsdWUgb3BlcmF0ZXMgb25seSBvbiByZWZlcmVuY2VzIChzZWUgc3RlcCAxKS4NCi0qLw0KLQ0K
LQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxMS4xMy4xLTEtMiIsDQotDQot
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTEtMi5qcyIs
DQotDQotZGVzY3JpcHRpb246ICJzaW1wbGUgYXNzaWdubWVudCB0aHJvd3MgUmVmZXJlbmNlRXJy
b3IgaWYgTGVmdEhhbmRTaWRlIGlzIG5vdCBhIHJlZmVyZW5jZSAoc3RyaW5nKSIsDQotDQotdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB0cnkgew0KLSAgICBldmFsKCIneCcgPSA0MiIp
Ow0KLSAgfQ0KLSAgY2F0Y2ggKGUpIHsNCi0gICAgaWYgKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VF
cnJvcikgew0KLSAgICAgIHJldHVybiB0cnVlOw0KLSAgICB9DQotICB9DQotIH0NCi19KTsNCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKy8qCitQdXRWYWx1ZSBvcGVy
YXRlcyBvbmx5IG9uIHJlZmVyZW5jZXMgKHNlZSBzdGVwIDEpLgorKi8KKworCitFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxMS4xMy4xLTEtMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjExLzExLjEzLzExLjEzLjEvMTEuMTMuMS0xLTIuanMiLAorCitkZXNjcmlwdGlvbjog
InNpbXBsZSBhc3NpZ25tZW50IHRocm93cyBSZWZlcmVuY2VFcnJvciBpZiBMZWZ0SGFuZFNpZGUg
aXMgbm90IGEgcmVmZXJlbmNlIChzdHJpbmcpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7CisgIHRyeSB7CisgICAgZXZhbCgiJ3gnID0gNDIiKTsKKyAgfQorICBjYXRjaCAoZSkgewor
ICAgIGlmIChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpIHsKKyAgICAgIHJldHVybiB0cnVl
OworICAgIH0KKyAgfQorIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjEzLjEtMS0yLmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzExLjEzLjEtMS0zLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4xMy4xLTEtMy5qcwkocmV2aXNpb24g
MTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzExLjEzLjEtMS0zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQzICsxLDQzIEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotLyoN
Ci1QdXRWYWx1ZSBvcGVyYXRlcyBvbmx5IG9uIHJlZmVyZW5jZXMgKHNlZSBzdGVwIDEpLg0KLSov
DQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjExLjEzLjEtMS0zIiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtMS0z
LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogInNpbXBsZSBhc3NpZ25tZW50IHRocm93cyBSZWZlcmVu
Y2VFcnJvciBpZiBMZWZ0SGFuZFNpZGUgaXMgbm90IGEgcmVmZXJlbmNlIChib29sZWFuKSIsDQot
DQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB0cnkgew0KLSAgICBldmFsKCJ0cnVl
ID0gNDIiKTsNCi0gIH0NCi0gIGNhdGNoIChlKSB7DQotICAgIGlmIChlIGluc3RhbmNlb2YgUmVm
ZXJlbmNlRXJyb3IpIHsNCi0gICAgICByZXR1cm4gdHJ1ZTsNCi0gICAgfQ0KLSAgfQ0KLSB9DQot
fSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8g
CisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwK
Ky8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisvKgorUHV0VmFs
dWUgb3BlcmF0ZXMgb25seSBvbiByZWZlcmVuY2VzIChzZWUgc3RlcCAxKS4KKyovCisKKworRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTEuMTMuMS0xLTMiLAorCitwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtMS0zLmpzIiwKKworZGVzY3Jp
cHRpb246ICJzaW1wbGUgYXNzaWdubWVudCB0aHJvd3MgUmVmZXJlbmNlRXJyb3IgaWYgTGVmdEhh
bmRTaWRlIGlzIG5vdCBhIHJlZmVyZW5jZSAoYm9vbGVhbikiLAorCit0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsKKyAgdHJ5IHsKKyAgICBldmFsKCJ0cnVlID0gNDIiKTsKKyAgfQorICBjYXRj
aCAoZSkgeworICAgIGlmIChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpIHsKKyAgICAgIHJl
dHVybiB0cnVlOworICAgIH0KKyAgfQorIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjEzLjEtMS0zLmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjEzLjEtMS00LmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4xMy4xLTEtNC5qcwko
cmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzExLjEzLjEtMS00LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQzICsxLDQzIEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
DQotDQotLyoNCi1QdXRWYWx1ZSBvcGVyYXRlcyBvbmx5IG9uIHJlZmVyZW5jZXMgKHNlZSBzdGVw
IDEpLg0KLSovDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjExLjEz
LjEtMS00IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS4xMy8xMS4xMy4xLzEx
LjEzLjEtMS00LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogInNpbXBsZSBhc3NpZ25tZW50IHRocm93
cyBSZWZlcmVuY2VFcnJvciBpZiBMZWZ0SGFuZFNpZGUgaXMgbm90IGEgcmVmZXJlbmNlIChudWxs
KSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB0cnkgew0KLSAgICBldmFs
KCJudWxsID0gNDIiKTsNCi0gIH0NCi0gIGNhdGNoIChlKSB7DQotICAgIGlmIChlIGluc3RhbmNl
b2YgUmVmZXJlbmNlRXJyb3IpIHsNCi0gICAgICByZXR1cm4gdHJ1ZTsNCi0gICAgfQ0KLSAgfQ0K
LSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
CisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
CisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisvKgor
UHV0VmFsdWUgb3BlcmF0ZXMgb25seSBvbiByZWZlcmVuY2VzIChzZWUgc3RlcCAxKS4KKyovCisK
KworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTEuMTMuMS0xLTQiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtMS00LmpzIiwKKwor
ZGVzY3JpcHRpb246ICJzaW1wbGUgYXNzaWdubWVudCB0aHJvd3MgUmVmZXJlbmNlRXJyb3IgaWYg
TGVmdEhhbmRTaWRlIGlzIG5vdCBhIHJlZmVyZW5jZSAobnVsbCkiLAorCit0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsKKyAgdHJ5IHsKKyAgICBldmFsKCJudWxsID0gNDIiKTsKKyAgfQorICBj
YXRjaCAoZSkgeworICAgIGlmIChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpIHsKKyAgICAg
IHJldHVybiB0cnVlOworICAgIH0KKyAgfQorIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjEzLjEtMS00
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjEzLjEtNC0xLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS4xMy4xLTQtMS5q
cwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzExLjEzLjEtNC0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU0ICsxLDU0
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotLyoNCi1QdXRWYWx1ZSBvcGVyYXRlcyBvbmx5IG9uIHJlZmVyZW5jZXMgKHNlZSBz
dGVwIDMuYikuDQotKi8NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAi
MTEuMTMuMS00LTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjExLzExLjEzLzExLjEz
LjEvMTEuMTMuMS00LTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAic2ltcGxlIGFzc2lnbm1lbnQg
Y3JlYXRlcyBwcm9wZXJ0eSBvbiB0aGUgZ2xvYmFsIG9iamVjdCBpZiBMZWZ0SGFuZFNpZGUgaXMg
YW4gdW5yZXNvbHZhYmxlIHJlZmVyZW5jZSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotICBmdW5jdGlvbiBmb28oKSB7DQotICAgIF9fRVMzXzFfdGVzdF9zdWl0ZV90ZXN0XzEx
XzEzXzFfdW5pcXVlX2lkXzNfXyA9IDQyOw0KLSAgfQ0KLSAgZm9vKCk7DQotICANCi0gIC8vIGlu
IHRoZSBicm93c2VyLCB0aGUgIndpbmRvdyIgc2VydmVzIGFzIHRoZSBnbG9iYWwgb2JqZWN0Lg0K
LSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ19f
RVMzXzFfdGVzdF9zdWl0ZV90ZXN0XzExXzEzXzFfdW5pcXVlX2lkXzNfXycpOw0KLSAgaWYgKGRl
c2MudmFsdWUgPT09IDQyICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAg
ICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxl
ID09PSB0cnVlKSB7DQotICAgIGRlbGV0ZSBfX0VTM18xX3Rlc3Rfc3VpdGVfdGVzdF8xMV8xM18x
X3VuaXF1ZV9pZF8zX187DQotICAgIHJldHVybiB0cnVlOw0KLSAgfSAgDQotIH0sDQotDQotcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiAoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisKKy8qCitQdXRWYWx1ZSBvcGVyYXRlcyBvbmx5IG9uIHJlZmVy
ZW5jZXMgKHNlZSBzdGVwIDMuYikuCisqLworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
CitpZDogIjExLjEzLjEtNC0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTEvMTEuMTMv
MTEuMTMuMS8xMS4xMy4xLTQtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAic2ltcGxlIGFzc2lnbm1l
bnQgY3JlYXRlcyBwcm9wZXJ0eSBvbiB0aGUgZ2xvYmFsIG9iamVjdCBpZiBMZWZ0SGFuZFNpZGUg
aXMgYW4gdW5yZXNvbHZhYmxlIHJlZmVyZW5jZSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgeworICBmdW5jdGlvbiBmb28oKSB7CisgICAgX19FUzNfMV90ZXN0X3N1aXRlX3Rlc3RfMTFf
MTNfMV91bmlxdWVfaWRfM19fID0gNDI7CisgIH0KKyAgZm9vKCk7CisgIAorICAvLyBpbiB0aGUg
YnJvd3NlciwgdGhlICJ3aW5kb3ciIHNlcnZlcyBhcyB0aGUgZ2xvYmFsIG9iamVjdC4KKyAgdmFy
IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ19fRVMzXzFf
dGVzdF9zdWl0ZV90ZXN0XzExXzEzXzFfdW5pcXVlX2lkXzNfXycpOworICBpZiAoZGVzYy52YWx1
ZSA9PT0gNDIgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2Mu
ZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUp
IHsKKyAgICBkZWxldGUgX19FUzNfMV90ZXN0X3N1aXRlX3Rlc3RfMTFfMTNfMV91bmlxdWVfaWRf
M19fOworICAgIHJldHVybiB0cnVlOworICB9ICAKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0
aW9uICgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IpOworIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuMTMuMS00LTEuanMKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTEuNC4xLTAtMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTAtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQor
KysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS0w
LTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDQgKzEsNDQgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0vKg0KLVRoaXMgdGVz
dCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4x
Mi44KS4gU2luY2UgdGhlDQotbGFuZ3VhZ2UgcHJvdmlkZXMgbm8gd2F5IHRvIGRpcmVjdGx5IGV4
ZXJjaXNlIFtbRGVsZXRlXV0sIHRoZSB0ZXN0cyBhcmUgcGxhY2VkIGhlcmUuDQotKi8NCi0NCi1F
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTEuNC4xLTAtMSIsDQotDQotcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTEvMTEuNC8xMS40LjEvMTEuNC4xLTAtMS5qcyIsDQotDQotZGVz
Y3JpcHRpb246ICJkZWxldGUgb3BlcmF0b3IgYXMgVW5hcnlFeHByZXNzaW9uIiwNCi0NCi10ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciB4ID0gMTsNCi0gIHZhciB5ID0gMjsNCi0g
IHZhciB6ID0gMzsNCi0gIA0KLSAgaWYoICghZGVsZXRlIHggfHwgZGVsZXRlIHkpICYmDQotICAg
ICAgZGVsZXRlIGRlbGV0ZSB6KQ0KLSAgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0gIA0KLSB9
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisvKgorVGhp
cyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9k
ICg4LjEyLjgpLiBTaW5jZSB0aGUKK2xhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3Rs
eSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLgorKi8KKwor
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTEuNC4xLTAtMSIsCisKK3BhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjExLzExLjQvMTEuNC4xLzExLjQuMS0wLTEuanMiLAorCitkZXNjcmlw
dGlvbjogImRlbGV0ZSBvcGVyYXRvciBhcyBVbmFyeUV4cHJlc3Npb24iLAorCit0ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIHggPSAxOworICB2YXIgeSA9IDI7CisgIHZhciB6ID0g
MzsKKyAgCisgIGlmKCAoIWRlbGV0ZSB4IHx8IGRlbGV0ZSB5KSAmJgorICAgICAgZGVsZXRlIGRl
bGV0ZSB6KQorICB7CisgICAgcmV0dXJuIHRydWU7CisgIH0gIAorIH0KK30pOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzExLjQuMS0wLTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsx
ICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTItMS5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEu
NC4xLTItMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS0yLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
MzUgKzEsMzUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTEu
NC4xLTItMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTEvMTEuNC8xMS40LjEvMTEu
NC4xLTItMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJkZWxldGUgb3BlcmF0b3IgcmV0dXJucyB0
cnVlIHdoZW4gZGVsZXRpbmcgYSBub24tcmVmZXJlbmNlIChudW1iZXIpIiwNCi0NCi10ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkID0gZGVsZXRlIDQyOw0KLSAgaWYgKGQgPT09
IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTEuNC4xLTItMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjExLzExLjQv
MTEuNC4xLzExLjQuMS0yLTEuanMiLAorCitkZXNjcmlwdGlvbjogImRlbGV0ZSBvcGVyYXRvciBy
ZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyBhIG5vbi1yZWZlcmVuY2UgKG51bWJlcikiLAorCit0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGQgPSBkZWxldGUgNDI7CisgIGlmIChk
ID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9Cit9KTsKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
MS40LjEtMi0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAj
IworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS0yLTIuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjQu
MS0yLTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtMi0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM3
ICsxLDM3IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAN
Ci0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0v
Ly8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjExLjQu
MS0yLTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjExLzExLjQvMTEuNC4xLzExLjQu
MS0yLTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgdHJ1
ZSB3aGVuIGRlbGV0aW5nIHJldHVybmVkIHZhbHVlIGZyb20gYSBmdW5jdGlvbiIsDQotDQotdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgYklzRm9vQ2FsbGVkID0gZmFsc2U7DQot
ICB2YXIgZm9vID0gZnVuY3Rpb24oKXtiSXNGb29DYWxsZWQgPSB0cnVlO307DQotDQotICB2YXIg
ZCA9IGRlbGV0ZSBmb28oKTsNCi0gIGlmKGQgPT09IHRydWUgJiYgYklzRm9vQ2FsbGVkID09PSB0
cnVlKQ0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisv
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIx
MS40LjEtMi0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTEvMTEuNC8xMS40LjEvMTEu
NC4xLTItMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgdHJ1
ZSB3aGVuIGRlbGV0aW5nIHJldHVybmVkIHZhbHVlIGZyb20gYSBmdW5jdGlvbiIsCisKK3Rlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgYklzRm9vQ2FsbGVkID0gZmFsc2U7CisgIHZh
ciBmb28gPSBmdW5jdGlvbigpe2JJc0Zvb0NhbGxlZCA9IHRydWU7fTsKKworICB2YXIgZCA9IGRl
bGV0ZSBmb28oKTsKKyAgaWYoZCA9PT0gdHJ1ZSAmJiBiSXNGb29DYWxsZWQgPT09IHRydWUpCisg
ICAgcmV0dXJuIHRydWU7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTItMi5qcwpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xMS40LjEtMi0zLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtMi0zLmpzCShyZXZpc2lvbiAx
OTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTEuNC4xLTItMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzNSArMSwzNSBAQAotLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
DQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0v
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxMS40LjEtMi0zIiwNCi0NCi1wYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxMS8xMS40LzExLjQuMS8xMS40LjEtMi0zLmpzIiwNCi0NCi1kZXNj
cmlwdGlvbjogImRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyBhIG5v
bi1yZWZlcmVuY2UgKGJvb2xlYW4pIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsN
Ci0gIHZhciBkID0gZGVsZXRlIHRydWU7DQotICBpZiAoZCA9PT0gdHJ1ZSkgew0KLSAgICByZXR1
cm4gdHJ1ZTsNCi0gIH0NCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxMS40LjEtMi0z
IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTEvMTEuNC8xMS40LjEvMTEuNC4xLTItMy5q
cyIsCisKK2Rlc2NyaXB0aW9uOiAiZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgdHJ1ZSB3aGVuIGRl
bGV0aW5nIGEgbm9uLXJlZmVyZW5jZSAoYm9vbGVhbikiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsKKyAgdmFyIGQgPSBkZWxldGUgdHJ1ZTsKKyAgaWYgKGQgPT09IHRydWUpIHsKKyAg
ICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS0yLTMuanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTItNC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTItNC5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzExLjQuMS0yLTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzUgKzEsMzUgQEAKLS8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
DQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0N
Ci1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTEuNC4xLTItNCIsDQotDQotcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTEvMTEuNC8xMS40LjEvMTEuNC4xLTItNC5qcyIsDQotDQot
ZGVzY3JpcHRpb246ICJkZWxldGUgb3BlcmF0b3IgcmV0dXJucyB0cnVlIHdoZW4gZGVsZXRpbmcg
YSBub24tcmVmZXJlbmNlIChzdHJpbmcpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsNCi0gIHZhciBkID0gZGVsZXRlICJhYmMiOw0KLSAgaWYgKGQgPT09IHRydWUpIHsNCi0gICAg
cmV0dXJuIHRydWU7DQotICB9DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTEuNC4x
LTItNCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjExLzExLjQvMTEuNC4xLzExLjQuMS0y
LTQuanMiLAorCitkZXNjcmlwdGlvbjogImRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hl
biBkZWxldGluZyBhIG5vbi1yZWZlcmVuY2UgKHN0cmluZykiLAorCit0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsKKyAgdmFyIGQgPSBkZWxldGUgImFiYyI7CisgIGlmIChkID09PSB0cnVlKSB7
CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtMi00Lmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS0yLTUuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS0yLTUuanMJKHJl
dmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xMS40LjEtMi01LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM1ICsxLDM1IEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjExLjQuMS0yLTUiLA0KLQ0K
LXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjExLzExLjQvMTEuNC4xLzExLjQuMS0yLTUuanMiLA0K
LQ0KLWRlc2NyaXB0aW9uOiAiZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgdHJ1ZSB3aGVuIGRlbGV0
aW5nIGEgbm9uLXJlZmVyZW5jZSAob2JqKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotICB2YXIgZCA9IGRlbGV0ZSB7YTowfSA7DQotICBpZiAoZCA9PT0gdHJ1ZSkgew0KLSAg
ICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwor
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxMS40
LjEtMi01IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTEvMTEuNC8xMS40LjEvMTEuNC4x
LTItNS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgdHJ1ZSB3
aGVuIGRlbGV0aW5nIGEgbm9uLXJlZmVyZW5jZSAob2JqKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeworICB2YXIgZCA9IGRlbGV0ZSB7YTowfSA7CisgIGlmIChkID09PSB0cnVlKSB7
CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtMi01Lmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS0yLTYuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS0yLTYuanMJKHJl
dmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xMS40LjEtMi02LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM1ICsxLDM1IEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjExLjQuMS0yLTYiLA0KLQ0K
LXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjExLzExLjQvMTEuNC4xLzExLjQuMS0yLTYuanMiLA0K
LQ0KLWRlc2NyaXB0aW9uOiAiZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgdHJ1ZSB3aGVuIGRlbGV0
aW5nIGEgbm9uLXJlZmVyZW5jZSAobnVsbCkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgew0KLSAgdmFyIGQgPSBkZWxldGUgbnVsbDsNCi0gIGlmIChkID09PSB0cnVlKSB7DQotICAg
IHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisv
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjExLjQu
MS0yLTYiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS40LzExLjQuMS8xMS40LjEt
Mi02LmpzIiwKKworZGVzY3JpcHRpb246ICJkZWxldGUgb3BlcmF0b3IgcmV0dXJucyB0cnVlIHdo
ZW4gZGVsZXRpbmcgYSBub24tcmVmZXJlbmNlIChudWxsKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeworICB2YXIgZCA9IGRlbGV0ZSBudWxsOworICBpZiAoZCA9PT0gdHJ1ZSkgewor
ICAgIHJldHVybiB0cnVlOworICB9CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTItNi5qcwpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtMy0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtMy0xLmpzCShyZXZp
c2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTEuNC4xLTMtMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzNiArMSwzNiBAQAotLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0K
LQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxMS40LjEtMy0xIiwNCi0NCi1w
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS40LzExLjQuMS8xMS40LjEtMy0xLmpzIiwNCi0N
Ci1kZXNjcmlwdGlvbjogImRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGlu
ZyBhbiB1bnJlc29sdmFibGUgcmVmZXJlbmNlIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsNCi0gIC8vIGp1c3QgY29va2luZyB1cCBhIGxvbmcvdmVyeUxpa2VseSB1bmlxdWUgbmFt
ZQ0KLSAgdmFyIGQgPSBkZWxldGUgX19FUzNfMV90ZXN0X3N1aXRlX3Rlc3RfMTFfNF8xXzNfdW5p
cXVlX2lkXzBfXzsNCi0gIGlmIChkID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAg
fQ0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisv
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisv
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjExLjQuMS0zLTEiLAorCitwYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxMS8xMS40LzExLjQuMS8xMS40LjEtMy0xLmpzIiwKKworZGVzY3Jp
cHRpb246ICJkZWxldGUgb3BlcmF0b3IgcmV0dXJucyB0cnVlIHdoZW4gZGVsZXRpbmcgYW4gdW5y
ZXNvbHZhYmxlIHJlZmVyZW5jZSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAv
LyBqdXN0IGNvb2tpbmcgdXAgYSBsb25nL3ZlcnlMaWtlbHkgdW5pcXVlIG5hbWUKKyAgdmFyIGQg
PSBkZWxldGUgX19FUzNfMV90ZXN0X3N1aXRlX3Rlc3RfMTFfNF8xXzNfdW5pcXVlX2lkXzBfXzsK
KyAgaWYgKGQgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0KK30pOwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzExLjQuMS0zLTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTMtMi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTEuNC4xLTMtMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS0zLTIuanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsNDEgKzEsNDEgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0K
LS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlk
OiAiMTEuNC4xLTMtMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTEvMTEuNC8xMS40
LjEvMTEuNC4xLTMtMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJkZWxldGUgb3BlcmF0b3IgdGhy
b3dzIFJlZmVyZW5jZUVycm9yIHdoZW4gZGVsZXRpbmcgYW4gZXhwbGljaXRseSBxdWFsaWZpZWQg
eWV0IHVucmVzb2x2YWJsZSByZWZlcmVuY2UgKGJhc2Ugb2JqIHVuZGVmaW5lZCkiLA0KLQ0KLXRl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgLy8ganVzdCBjb29raW5nIHVwIGEgbG9uZy92
ZXJ5TGlrZWx5IHVuaXF1ZSBuYW1lDQotICB0cnkNCi0gIHsNCi0gICAgdmFyIGQgPSBkZWxldGUg
X19FUzNfMV90ZXN0X3N1aXRlX3Rlc3RfMTFfNF8xXzNfdW5pcXVlX2lkXzJfXy54Ow0KLSAgfQ0K
LSAgY2F0Y2goZSkNCi0gIHsNCi0gICAgaWYgKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikN
Ci0gICAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6
ICIxMS40LjEtMy0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTEvMTEuNC8xMS40LjEv
MTEuNC4xLTMtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiZGVsZXRlIG9wZXJhdG9yIHRocm93cyBS
ZWZlcmVuY2VFcnJvciB3aGVuIGRlbGV0aW5nIGFuIGV4cGxpY2l0bHkgcXVhbGlmaWVkIHlldCB1
bnJlc29sdmFibGUgcmVmZXJlbmNlIChiYXNlIG9iaiB1bmRlZmluZWQpIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgIC8vIGp1c3QgY29va2luZyB1cCBhIGxvbmcvdmVyeUxpa2Vs
eSB1bmlxdWUgbmFtZQorICB0cnkKKyAgeworICAgIHZhciBkID0gZGVsZXRlIF9fRVMzXzFfdGVz
dF9zdWl0ZV90ZXN0XzExXzRfMV8zX3VuaXF1ZV9pZF8yX18ueDsKKyAgfQorICBjYXRjaChlKQor
ICB7CisgICAgaWYgKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikKKyAgICAgIHJldHVybiB0
cnVlOworICB9CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTMtMi5qcwpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xMS40LjEtMy0zLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtMy0zLmpzCShyZXZpc2lvbiAxOTk1NDkp
CisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4x
LTMtMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzNiArMSwzNiBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxMS40LjEtMy0zIiwNCi0NCi1wYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxMS8xMS40LzExLjQuMS8xMS40LjEtMy0zLmpzIiwNCi0NCi1kZXNjcmlwdGlv
bjogImRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyBhbiBleHBsaWNp
dGx5IHF1YWxpZmllZCB5ZXQgdW5yZXNvbHZhYmxlIHJlZmVyZW5jZSAocHJvcGVydHkgdW5kZWZp
bmVkIGZvciBiYXNlIG9iaikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAg
dmFyIF9fRVMzXzFfdGVzdF9zdWl0ZV90ZXN0XzExXzRfMV8zX3VuaXF1ZV9pZF8zX18gPSB7fTsN
Ci0gIHZhciBkID0gZGVsZXRlIF9fRVMzXzFfdGVzdF9zdWl0ZV90ZXN0XzExXzRfMV8zX3VuaXF1
ZV9pZF8zX18ueDsNCi0gIGlmIChkID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAg
fQ0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisv
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisv
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjExLjQuMS0zLTMiLAorCitwYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxMS8xMS40LzExLjQuMS8xMS40LjEtMy0zLmpzIiwKKworZGVzY3Jp
cHRpb246ICJkZWxldGUgb3BlcmF0b3IgcmV0dXJucyB0cnVlIHdoZW4gZGVsZXRpbmcgYW4gZXhw
bGljaXRseSBxdWFsaWZpZWQgeWV0IHVucmVzb2x2YWJsZSByZWZlcmVuY2UgKHByb3BlcnR5IHVu
ZGVmaW5lZCBmb3IgYmFzZSBvYmopIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7Cisg
IHZhciBfX0VTM18xX3Rlc3Rfc3VpdGVfdGVzdF8xMV80XzFfM191bmlxdWVfaWRfM19fID0ge307
CisgIHZhciBkID0gZGVsZXRlIF9fRVMzXzFfdGVzdF9zdWl0ZV90ZXN0XzExXzRfMV8zX3VuaXF1
ZV9pZF8zX18ueDsKKyAgaWYgKGQgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQor
IH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS0zLTMuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEu
NC4xLTQuYS0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtNC5hLTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtNC5hLTEu
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDkgKzEsNDkgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQot
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0vKg0KLVRoaXMgdGVzdCBp
cyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44
KS4gU2luY2UgdGhlDQotbGFuZ3VhZ2UgcHJvdmlkZXMgbm8gd2F5IHRvIGRpcmVjdGx5IGV4ZXJj
aXNlIFtbRGVsZXRlXV0sIHRoZSB0ZXN0cyBhcmUgcGxhY2VkIGhlcmUuDQotKi8NCi0NCi0NCi1F
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTEuNC4xLTQuYS0xIiwNCi0NCi1wYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS40LzExLjQuMS8xMS40LjEtNC5hLTEuanMiLA0KLQ0K
LWRlc2NyaXB0aW9uOiAiZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgdHJ1ZSB3aGVuIGRlbGV0aW5n
IGEgY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydHkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgew0KLSAgdmFyIG8gPSB7fTsNCi0NCi0gIHZhciBkZXNjID0geyB2YWx1ZTogMSwgY29u
ZmlndXJhYmxlOiB0cnVlIH07DQotICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRl
c2MpOw0KLQ0KLSAgdmFyIGQgPSBkZWxldGUgby5mb287DQotICBpZiAoZCA9PT0gdHJ1ZSAmJiBv
Lmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpIHsNCi0gICAgcmV0dXJuIHRydWU7DQot
ICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1
cm4gKGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5FeGlzdHMoT2JqZWN0Lmhh
c093blByb3BlcnR5KSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisv
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisKKy8qCitUaGlzIHRlc3QgaXMgYWN0dWFsbHkgdGVzdGluZyB0aGUgW1tEZWxl
dGVdXSBpbnRlcm5hbCBtZXRob2QgKDguMTIuOCkuIFNpbmNlIHRoZQorbGFuZ3VhZ2UgcHJvdmlk
ZXMgbm8gd2F5IHRvIGRpcmVjdGx5IGV4ZXJjaXNlIFtbRGVsZXRlXV0sIHRoZSB0ZXN0cyBhcmUg
cGxhY2VkIGhlcmUuCisqLworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjEx
LjQuMS00LmEtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjExLzExLjQvMTEuNC4xLzEx
LjQuMS00LmEtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiZGVsZXRlIG9wZXJhdG9yIHJldHVybnMg
dHJ1ZSB3aGVuIGRlbGV0aW5nIGEgY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydHkiLAorCit0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIG8gPSB7fTsKKworICB2YXIgZGVzYyA9IHsg
dmFsdWU6IDEsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9OworICBPYmplY3QuZGVmaW5lUHJvcGVydHko
bywgImZvbyIsIGRlc2MpOworCisgIHZhciBkID0gZGVsZXRlIG8uZm9vOworICBpZiAoZCA9PT0g
dHJ1ZSAmJiBvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpIHsKKyAgICByZXR1cm4g
dHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICBy
ZXR1cm4gKGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5FeGlzdHMoT2JqZWN0
Lmhhc093blByb3BlcnR5KSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTQuYS0xLmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS00LmEtMTAuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS00LmEtMTAuanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xMS40LjEtNC5hLTEwLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUxICsxLDUx
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotLyoNCi1UaGlzIHRlc3QgaXMgYWN0dWFsbHkgdGVzdGluZyB0aGUgW1tEZWxldGVd
XSBpbnRlcm5hbCBtZXRob2QgKDguMTIuOCkuIFNpbmNlIHRoZQ0KLWxhbmd1YWdlIHByb3ZpZGVz
IG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBs
YWNlZCBoZXJlLg0KLSovDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjEx
LjQuMS00LmEtMTAiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjExLzExLjQvMTEuNC4x
LzExLjQuMS00LmEtMTAuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiZGVsZXRlIG9wZXJhdG9yIHJl
dHVybnMgdHJ1ZSBmb3IgcHJvcGVydHkgKHN0cmluZ2lmeSkgZGVmaW5lZCBvbiBidWlsdC1pbiBv
YmplY3QgKEpTT04pIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHRyeSB7
DQotICAgICAgdmFyIG8gPSBKU09OLnN0cmluZ2lmeTsNCi0gICAgICB2YXIgZGVzYzsNCi0gICAg
ICB0cnkgew0KLSAgICAgICAgICBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihKU09OLCAnc3RyaW5naWZ5JykNCi0gICAgICB9IA0KLSAgICAgIGNhdGNoIChlKSB7DQotICAg
ICAgfTsNCi0gICAgICB2YXIgZCA9IGRlbGV0ZSBKU09OLnN0cmluZ2lmeTsNCi0gICAgICBpZiAo
ZCA9PT0gdHJ1ZSAmJiBKU09OLnN0cmluZ2lmeSA9PT0gdW5kZWZpbmVkKSB7DQotICAgICAgICBy
ZXR1cm4gdHJ1ZTsNCi0gICAgICB9DQotICB9IGZpbmFsbHkgew0KLSAgICBpZiAoZGVzYykgT2Jq
ZWN0LmRlZmluZVByb3BlcnR5KEpTT04sICdzdHJpbmdpZnknLCBkZXNjKQ0KLSAgICBlbHNlIEpT
T04uc3RyaW5naWZ5ID0gbyAgLyogdGhpcyBicmFuY2ggc2NyZXdzIHVwIHRoZSBhdHRyaWJ1dGVz
ICovOw0KLSAgfQ0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorCisvKgorVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0g
aW50ZXJuYWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUKK2xhbmd1YWdlIHByb3ZpZGVzIG5v
IHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNl
ZCBoZXJlLgorKi8KKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTEuNC4xLTQu
YS0xMCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjExLzExLjQvMTEuNC4xLzExLjQuMS00
LmEtMTAuanMiLAorCitkZXNjcmlwdGlvbjogImRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUg
Zm9yIHByb3BlcnR5IChzdHJpbmdpZnkpIGRlZmluZWQgb24gYnVpbHQtaW4gb2JqZWN0IChKU09O
KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB0cnkgeworICAgICAgdmFyIG8g
PSBKU09OLnN0cmluZ2lmeTsKKyAgICAgIHZhciBkZXNjOworICAgICAgdHJ5IHsKKyAgICAgICAg
ICBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihKU09OLCAnc3RyaW5naWZ5
JykKKyAgICAgIH0gCisgICAgICBjYXRjaCAoZSkgeworICAgICAgfTsKKyAgICAgIHZhciBkID0g
ZGVsZXRlIEpTT04uc3RyaW5naWZ5OworICAgICAgaWYgKGQgPT09IHRydWUgJiYgSlNPTi5zdHJp
bmdpZnkgPT09IHVuZGVmaW5lZCkgeworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgIH0KKyAg
fSBmaW5hbGx5IHsKKyAgICBpZiAoZGVzYykgT2JqZWN0LmRlZmluZVByb3BlcnR5KEpTT04sICdz
dHJpbmdpZnknLCBkZXNjKQorICAgIGVsc2UgSlNPTi5zdHJpbmdpZnkgPSBvICAvKiB0aGlzIGJy
YW5jaCBzY3Jld3MgdXAgdGhlIGF0dHJpYnV0ZXMgKi87CisgIH0KKyB9Cit9KTsKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xMS40LjEtNC5hLTEwLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS00LmEtMTEuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzExLjQuMS00LmEtMTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtNC5hLTExLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
Ci0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotLyoNCi1UaGlzIHRlc3QgaXMgYWN0dWFsbHkg
dGVzdGluZyB0aGUgW1tEZWxldGVdXSBpbnRlcm5hbCBtZXRob2QgKDguMTIuOCkuIFNpbmNlIHRo
ZQ0KLWxhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0
ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KLSovDQotDQotRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsNCi1pZDogIjExLjQuMS00LmEtMTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9u
OiAiZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgdHJ1ZSBvbiBkZWxldGluZyBhcmd1bWVudHMgcHJv
cHRlcnRpZXMoYXJndW1lbnRzLmNhbGxlZSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgew0KLSAgZnVuY3Rpb24gZm9vKGEsYikNCi0gIHsNCi0gICAgcmV0dXJuIChkZWxldGUgYXJn
dW1lbnRzLmNhbGxlZSk7IA0KLSAgfQ0KLSAgdmFyIGQgPSBkZWxldGUgYXJndW1lbnRzLmNhbGxl
ZTsNCi0gIGlmKGQgPT09IHRydWUgJiYgYXJndW1lbnRzLmNhbGxlZSA9PT0gdW5kZWZpbmVkKQ0K
LSAgICByZXR1cm4gdHJ1ZTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IK
Ky8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKworLyoKK1RoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0Rl
bGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlCitsYW5ndWFnZSBwcm92
aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFy
ZSBwbGFjZWQgaGVyZS4KKyovCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjEx
LjQuMS00LmEtMTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS40LzExLjQuMS8x
MS40LjEtNC5hLTExLmpzIiwKKworZGVzY3JpcHRpb246ICJkZWxldGUgb3BlcmF0b3IgcmV0dXJu
cyB0cnVlIG9uIGRlbGV0aW5nIGFyZ3VtZW50cyBwcm9wdGVydGllcyhhcmd1bWVudHMuY2FsbGVl
KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBmdW5jdGlvbiBmb28oYSxiKQor
ICB7CisgICAgcmV0dXJuIChkZWxldGUgYXJndW1lbnRzLmNhbGxlZSk7IAorICB9CisgIHZhciBk
ID0gZGVsZXRlIGFyZ3VtZW50cy5jYWxsZWU7CisgIGlmKGQgPT09IHRydWUgJiYgYXJndW1lbnRz
LmNhbGxlZSA9PT0gdW5kZWZpbmVkKQorICAgIHJldHVybiB0cnVlOworIH0KK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzExLjQuMS00LmEtMTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTQuYS0xMi5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTEuNC4xLTQuYS0xMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS00LmEtMTIuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDEgKzEsNDEgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0vKg0KLVRoaXMgdGVzdCBpcyBhY3R1YWxs
eSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2Ug
dGhlDQotbGFuZ3VhZ2UgcHJvdmlkZXMgbm8gd2F5IHRvIGRpcmVjdGx5IGV4ZXJjaXNlIFtbRGVs
ZXRlXV0sIHRoZSB0ZXN0cyBhcmUgcGxhY2VkIGhlcmUuDQotKi8NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggew0KLWlkOiAiMTEuNC4xLTQuYS0xMiIsDQotDQotcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS0xMi5qcyIsDQotDQotZGVzY3JpcHRp
b246ICJkZWxldGUgb3BlcmF0b3IgcmV0dXJucyBmYWxzZSB3aGVuIGRlbGV0aW5nIGEgcHJvcGVy
dHkobGVuZ3RoKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICB2YXIg
YSA9IFsxLDIsM10NCi0gIGEueCA9IDEwOw0KLSAgdmFyIGQgPSBkZWxldGUgYS5sZW5ndGgNCi0g
IGlmKGQgPT09IGZhbHNlICYmIGEubGVuZ3RoID09PSAzKQ0KLSAgICByZXR1cm4gdHJ1ZTsNCi0g
fQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAor
Ly8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQK
Ky8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgor
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworLyoKK1Ro
aXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhv
ZCAoOC4xMi44KS4gU2luY2UgdGhlCitsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0
bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4KKyovCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjExLjQuMS00LmEtMTIiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS40LzExLjQuMS8xMS40LjEtNC5hLTEyLmpzIiwKKwor
ZGVzY3JpcHRpb246ICJkZWxldGUgb3BlcmF0b3IgcmV0dXJucyBmYWxzZSB3aGVuIGRlbGV0aW5n
IGEgcHJvcGVydHkobGVuZ3RoKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisg
IHZhciBhID0gWzEsMiwzXQorICBhLnggPSAxMDsKKyAgdmFyIGQgPSBkZWxldGUgYS5sZW5ndGgK
KyAgaWYoZCA9PT0gZmFsc2UgJiYgYS5sZW5ndGggPT09IDMpCisgICAgcmV0dXJuIHRydWU7Cisg
fQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTQuYS0xMi5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
MS40LjEtNC5hLTEzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtNC5hLTEzLmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTQu
YS0xMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0OCArMSw0OCBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLS8qDQotVGhpcyB0
ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9kICg4
LjEyLjgpLiBTaW5jZSB0aGUNCi1sYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkg
ZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCi0qLw0KLQ0K
LUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxMS40LjEtNC5hLTEzIiwNCi0NCi1w
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS40LzExLjQuMS8xMS40LjEtNC5hLTEzLmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogImRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIGZhbHNlIHdoZW4gZGVs
ZXRpbmcgQXJyYXkgb2JqZWN0IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0N
Ci0gIHZhciBhID0gWzEsMiwzXQ0KLSAgYS54ID0gMTA7DQotDQotICB2YXIgZCA9IGRlbGV0ZSBh
IA0KLQ0KLSAgaWYoZCA9PT0gZmFsc2UgJiYgQXJyYXkuaXNBcnJheShhKSA9PT0gdHJ1ZSkNCi0g
ICAgcmV0dXJuIHRydWU7DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiAoKSB7DQot
ICByZXR1cm4gZm5FeGlzdHMoQXJyYXkuaXNBcnJheSk7DQotIH0NCi0NCi19KTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKy8qCitUaGlzIHRlc3QgaXMgYWN0dWFs
bHkgdGVzdGluZyB0aGUgW1tEZWxldGVdXSBpbnRlcm5hbCBtZXRob2QgKDguMTIuOCkuIFNpbmNl
IHRoZQorbGFuZ3VhZ2UgcHJvdmlkZXMgbm8gd2F5IHRvIGRpcmVjdGx5IGV4ZXJjaXNlIFtbRGVs
ZXRlXV0sIHRoZSB0ZXN0cyBhcmUgcGxhY2VkIGhlcmUuCisqLworCitFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggeworaWQ6ICIxMS40LjEtNC5hLTEzIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS0xMy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiZGVs
ZXRlIG9wZXJhdG9yIHJldHVybnMgZmFsc2Ugd2hlbiBkZWxldGluZyBBcnJheSBvYmplY3QiLAor
Cit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICB2YXIgYSA9IFsxLDIsM10KKyAgYS54
ID0gMTA7CisKKyAgdmFyIGQgPSBkZWxldGUgYSAKKworICBpZihkID09PSBmYWxzZSAmJiBBcnJh
eS5pc0FycmF5KGEpID09PSB0cnVlKQorICAgIHJldHVybiB0cnVlOworIH0sCisKK3ByZWNvbmRp
dGlvbjogZnVuY3Rpb24gKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkuaXNBcnJheSk7Cisg
fQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtNC5hLTEzLmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzExLjQuMS00LmEtMTQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS00LmEtMTQuanMJKHJldmlzaW9uIDE5OTU0OSkK
KysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEt
NC5hLTE0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQxICsxLDQxIEBACi0vLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0v
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotLyoNCi1UaGlz
IHRlc3QgaXMgYWN0dWFsbHkgdGVzdGluZyB0aGUgW1tEZWxldGVdXSBpbnRlcm5hbCBtZXRob2Qg
KDguMTIuOCkuIFNpbmNlIHRoZQ0KLWxhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3Rs
eSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KLSovDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjExLjQuMS00LmEtMTQiLA0KLQ0K
LXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMTQuanMi
LA0KLQ0KLWRlc2NyaXB0aW9uOiAiZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgdHJ1ZSB3aGVuIGRl
bGV0aW5nIEFycmF5IGVsZW1lbnRzIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsN
Ci0NCi0gIHZhciBhID0gWzEsMiwzXQ0KLSAgYS54ID0gMTA7DQotICB2YXIgZCA9IGRlbGV0ZSBh
WzFdDQotICBpZihkID09PSB0cnVlICYmIGFbMV0gPT09IHVuZGVmaW5lZCkNCi0gICAgcmV0dXJu
IHRydWU7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8v
LyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisKKy8qCitUaGlzIHRlc3QgaXMgYWN0dWFsbHkgdGVzdGluZyB0aGUgW1tEZWxldGVdXSBpbnRl
cm5hbCBtZXRob2QgKDguMTIuOCkuIFNpbmNlIHRoZQorbGFuZ3VhZ2UgcHJvdmlkZXMgbm8gd2F5
IHRvIGRpcmVjdGx5IGV4ZXJjaXNlIFtbRGVsZXRlXV0sIHRoZSB0ZXN0cyBhcmUgcGxhY2VkIGhl
cmUuCisqLworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxMS40LjEtNC5hLTE0
IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS0x
NC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgdHJ1ZSB3aGVu
IGRlbGV0aW5nIEFycmF5IGVsZW1lbnRzIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
CisKKyAgdmFyIGEgPSBbMSwyLDNdCisgIGEueCA9IDEwOworICB2YXIgZCA9IGRlbGV0ZSBhWzFd
CisgIGlmKGQgPT09IHRydWUgJiYgYVsxXSA9PT0gdW5kZWZpbmVkKQorICAgIHJldHVybiB0cnVl
OworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS00LmEtMTQuanMKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTEuNC4xLTQuYS0xNS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTQuYS0xNS5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjQu
MS00LmEtMTUuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDEgKzEsNDEgQEAKLS8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0K
LS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0vKg0KLVRo
aXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhv
ZCAoOC4xMi44KS4gU2luY2UgdGhlDQotbGFuZ3VhZ2UgcHJvdmlkZXMgbm8gd2F5IHRvIGRpcmVj
dGx5IGV4ZXJjaXNlIFtbRGVsZXRlXV0sIHRoZSB0ZXN0cyBhcmUgcGxhY2VkIGhlcmUuDQotKi8N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTEuNC4xLTQuYS0xNSIsDQot
DQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS0xNS5q
cyIsDQotDQotZGVzY3JpcHRpb246ICJkZWxldGUgb3BlcmF0b3IgcmV0dXJucyB0cnVlIHdoZW4g
ZGVsZXRpbmcgQXJyYXkgZXhwYW5kb3MiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
ew0KLQ0KLSAgdmFyIGEgPSBbMSwyLDNdDQotICBhLnggPSAxMDsNCi0gIHZhciBkID0gZGVsZXRl
IGEueDsNCi0gIGlmKCBkID09PSB0cnVlICYmIGEueCA9PT0gdW5kZWZpbmVkKQ0KLSAgICByZXR1
cm4gdHJ1ZTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
Ly8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKworLyoKK1RoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGlu
dGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlCitsYW5ndWFnZSBwcm92aWRlcyBubyB3
YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQg
aGVyZS4KKyovCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjExLjQuMS00LmEt
MTUiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS40LzExLjQuMS8xMS40LjEtNC5h
LTE1LmpzIiwKKworZGVzY3JpcHRpb246ICJkZWxldGUgb3BlcmF0b3IgcmV0dXJucyB0cnVlIHdo
ZW4gZGVsZXRpbmcgQXJyYXkgZXhwYW5kb3MiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsKKworICB2YXIgYSA9IFsxLDIsM10KKyAgYS54ID0gMTA7CisgIHZhciBkID0gZGVsZXRlIGEu
eDsKKyAgaWYoIGQgPT09IHRydWUgJiYgYS54ID09PSB1bmRlZmluZWQpCisgICAgcmV0dXJuIHRy
dWU7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTQuYS0xNS5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xMS40LjEtNC5hLTE2LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtNC5hLTE2LmpzCShyZXZpc2lvbiAxOTk1
NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEu
NC4xLTQuYS0xNi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
DQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0v
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLS8qDQot
VGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0
aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUNCi1sYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGly
ZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCi0q
Lw0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxMS40LjEtNC5hLTE2IiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS40LzExLjQuMS8xMS40LjEtNC5hLTE2
LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogImRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIGZhbHNlIG9u
IGRlbGV0aW5nIGFyZ3VtZW50cyBvYmplY3QiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgew0KLQ0KLSAgaWYoZGVsZXRlIGFyZ3VtZW50cyA9PT0gZmFsc2UgJiYgYXJndW1lbnRzICE9
PSB1bmRlZmluZWQpDQotICAgIHJldHVybiB0cnVlOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisvKgorVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRl
c3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUK
K2xhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1d
LCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLgorKi8KKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKK2lkOiAiMTEuNC4xLTQuYS0xNiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjEx
LzExLjQvMTEuNC4xLzExLjQuMS00LmEtMTYuanMiLAorCitkZXNjcmlwdGlvbjogImRlbGV0ZSBv
cGVyYXRvciByZXR1cm5zIGZhbHNlIG9uIGRlbGV0aW5nIGFyZ3VtZW50cyBvYmplY3QiLAorCit0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICBpZihkZWxldGUgYXJndW1lbnRzID09PSBm
YWxzZSAmJiBhcmd1bWVudHMgIT09IHVuZGVmaW5lZCkKKyAgICByZXR1cm4gdHJ1ZTsKKyB9Cit9
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xMS40LjEtNC5hLTE2LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjQu
MS00LmEtMTcuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzExLjQuMS00LmEtMTcuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtNC5hLTE3
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQzICsxLDQzIEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotLyoNCi1UaGlzIHRlc3Qg
aXMgYWN0dWFsbHkgdGVzdGluZyB0aGUgW1tEZWxldGVdXSBpbnRlcm5hbCBtZXRob2QgKDguMTIu
OCkuIFNpbmNlIHRoZQ0KLWxhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVy
Y2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KLSovDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjExLjQuMS00LmEtMTciLA0KLQ0KLXBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMTcuanMiLA0KLQ0K
LWRlc2NyaXB0aW9uOiAiZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgdHJ1ZSBvbiBkZWxldGluZyBh
IGFyZ3VtZW50cyBlbGVtZW50IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0g
IGZ1bmN0aW9uIGZvbyhhLGIpDQotICB7DQotICAgIHZhciBkID0gZGVsZXRlIGFyZ3VtZW50c1sw
XTsNCi0gICAgcmV0dXJuIChkID09PSB0cnVlICYmIGFyZ3VtZW50c1swXSA9PT0gdW5kZWZpbmVk
KTsgIA0KLSAgfQ0KLQ0KLSAgaWYoZm9vKDEsMikgPT09IHRydWUpDQotICAgIHJldHVybiB0cnVl
Ow0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisv
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisv
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisv
KgorVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwg
bWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUKK2xhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBk
aXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLgor
Ki8KKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTEuNC4xLTQuYS0xNyIsCisK
K3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMTcuanMi
LAorCitkZXNjcmlwdGlvbjogImRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgb24gZGVsZXRp
bmcgYSBhcmd1bWVudHMgZWxlbWVudCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewor
ICBmdW5jdGlvbiBmb28oYSxiKQorICB7CisgICAgdmFyIGQgPSBkZWxldGUgYXJndW1lbnRzWzBd
OworICAgIHJldHVybiAoZCA9PT0gdHJ1ZSAmJiBhcmd1bWVudHNbMF0gPT09IHVuZGVmaW5lZCk7
ICAKKyAgfQorCisgIGlmKGZvbygxLDIpID09PSB0cnVlKQorICAgIHJldHVybiB0cnVlOworIH0K
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzExLjQuMS00LmEtMTcuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEu
NC4xLTQuYS0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtNC5hLTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtNC5hLTIu
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTIgKzEsNTIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQot
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0vKg0KLVRoaXMgdGVzdCBp
cyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44
KS4gU2luY2UgdGhlDQotbGFuZ3VhZ2UgcHJvdmlkZXMgbm8gd2F5IHRvIGRpcmVjdGx5IGV4ZXJj
aXNlIFtbRGVsZXRlXV0sIHRoZSB0ZXN0cyBhcmUgcGxhY2VkIGhlcmUuDQotKi8NCi0NCi0NCi1F
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTEuNC4xLTQuYS0yIiwNCi0NCi1wYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS40LzExLjQuMS8xMS40LjEtNC5hLTIuanMiLA0KLQ0K
LWRlc2NyaXB0aW9uOiAiZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgdHJ1ZSB3aGVuIGRlbGV0aW5n
IGEgY29uZmlndXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsNCi0gIHZhciBvID0ge307DQotDQotICAvLyBkZWZpbmUgYW4gYWNjZXNzb3IN
Ci0gIC8vIGR1bW15IGdldHRlcg0KLSAgdmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJu
IDE7IH0NCi0gIHZhciBkZXNjID0geyBnZXQ6IGdldHRlciwgY29uZmlndXJhYmxlOiB0cnVlIH07
DQotICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KLSAgICANCi0gIHZh
ciBkID0gZGVsZXRlIG8uZm9vOw0KLSAgaWYgKGQgPT09IHRydWUgJiYgby5oYXNPd25Qcm9wZXJ0
eSgiZm9vIikgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0K
LXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIChmbkV4aXN0cyhP
YmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuRXhpc3RzKE9iamVjdC5oYXNPd25Qcm9wZXJ0eSkp
Ow0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisv
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisv
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisv
KgorVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwg
bWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUKK2xhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBk
aXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLgor
Ki8KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxMS40LjEtNC5hLTIiLAor
CitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS40LzExLjQuMS8xMS40LjEtNC5hLTIuanMi
LAorCitkZXNjcmlwdGlvbjogImRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxl
dGluZyBhIGNvbmZpZ3VyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0eSIsCisKK3Rlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworICB2YXIgbyA9IHt9OworCisgIC8vIGRlZmluZSBhbiBhY2Nlc3Nvcgor
ICAvLyBkdW1teSBnZXR0ZXIKKyAgdmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDE7
IH0KKyAgdmFyIGRlc2MgPSB7IGdldDogZ2V0dGVyLCBjb25maWd1cmFibGU6IHRydWUgfTsKKyAg
T2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsKKyAgICAKKyAgdmFyIGQgPSBk
ZWxldGUgby5mb287CisgIGlmIChkID09PSB0cnVlICYmIG8uaGFzT3duUHJvcGVydHkoImZvbyIp
ID09PSBmYWxzZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiAoZm5FeGlzdHMoT2JqZWN0LmRlZmluZVBy
b3BlcnR5KSAmJiBmbkV4aXN0cyhPYmplY3QuaGFzT3duUHJvcGVydHkpKTsKKyB9Cit9KTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xMS40LjEtNC5hLTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQoj
IyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTQuYS0z
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xMS40LjEtNC5hLTMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtNC5hLTMuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDggKzEsNDggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0vKg0KLVRoaXMgdGVzdCBpcyBhY3R1YWxs
eSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2Ug
dGhlDQotbGFuZ3VhZ2UgcHJvdmlkZXMgbm8gd2F5IHRvIGRpcmVjdGx5IGV4ZXJjaXNlIFtbRGVs
ZXRlXV0sIHRoZSB0ZXN0cyBhcmUgcGxhY2VkIGhlcmUuDQotKi8NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggew0KLWlkOiAiMTEuNC4xLTQuYS0zIiwNCi0NCi1wYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxMS8xMS40LzExLjQuMS8xMS40LjEtNC5hLTMuanMiLA0KLQ0KLWRlc2NyaXB0aW9u
OiAiZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgZmFsc2Ugd2hlbiBkZWxldGluZyBhIG5vbi1jb25m
aWd1cmFibGUgZGF0YSBwcm9wZXJ0eSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
DQotICB2YXIgbyA9IHt9Ow0KLSAgdmFyIGRlc2MgPSB7IHZhbHVlIDogMSwgY29uZmlndXJhYmxl
OiBmYWxzZSB9OyAvLyBhbGwgb3RoZXIgYXR0cmlidXRlcyBkZWZhdWx0IHRvIGZhbHNlDQotICBP
YmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KLSAgDQotICAvLyBOb3csIGRl
bGV0aW5nIG8uZm9vIHNob3VsZCBmYWlsIGJlY2F1c2UgW1tDb25maWd1cmFibGVdXSBvbiBmb28g
aXMgZmFsc2UuDQotICB2YXIgZCA9IGRlbGV0ZSBvLmZvbzsNCi0gIGlmIChkID09PSBmYWxzZSAm
JiBvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsN
Ci0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJl
dHVybiAoZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmbkV4aXN0cyhPYmplY3Qu
aGFzT3duUHJvcGVydHkpKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IK
Ky8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKworLyoKK1RoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0Rl
bGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlCitsYW5ndWFnZSBwcm92
aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFy
ZSBwbGFjZWQgaGVyZS4KKyovCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjEx
LjQuMS00LmEtMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjExLzExLjQvMTEuNC4xLzEx
LjQuMS00LmEtMy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiZGVsZXRlIG9wZXJhdG9yIHJldHVybnMg
ZmFsc2Ugd2hlbiBkZWxldGluZyBhIG5vbi1jb25maWd1cmFibGUgZGF0YSBwcm9wZXJ0eSIsCisK
K3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgbyA9IHt9OworICB2YXIgZGVzYyA9
IHsgdmFsdWUgOiAxLCBjb25maWd1cmFibGU6IGZhbHNlIH07IC8vIGFsbCBvdGhlciBhdHRyaWJ1
dGVzIGRlZmF1bHQgdG8gZmFsc2UKKyAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBk
ZXNjKTsKKyAgCisgIC8vIE5vdywgZGVsZXRpbmcgby5mb28gc2hvdWxkIGZhaWwgYmVjYXVzZSBb
W0NvbmZpZ3VyYWJsZV1dIG9uIGZvbyBpcyBmYWxzZS4KKyAgdmFyIGQgPSBkZWxldGUgby5mb287
CisgIGlmIChkID09PSBmYWxzZSAmJiBvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gdHJ1ZSkg
eworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7CisgIHJldHVybiAoZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBm
bkV4aXN0cyhPYmplY3QuaGFzT3duUHJvcGVydHkpKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40
LjEtNC5hLTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTQuYS00LmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40
LjEtNC5hLTQuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtNC5hLTQuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsNDAgKzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
Lg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiANCi0NCi0vKg0KLVRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRo
ZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQotbGFuZ3Vh
Z2UgcHJvdmlkZXMgbm8gd2F5IHRvIGRpcmVjdGx5IGV4ZXJjaXNlIFtbRGVsZXRlXV0sIHRoZSB0
ZXN0cyBhcmUgcGxhY2VkIGhlcmUuDQotKi8NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
ew0KLWlkOiAiMTEuNC4xLTQuYS00IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8x
MS40LzExLjQuMS8xMS40LjEtNC5hLTQuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiZGVsZXRlIG9w
ZXJhdG9yIHJldHVybnMgZmFsc2Ugd2hlbiBkZWxldGluZyBhIG5vbi1jb25maWd1cmFibGUgZGF0
YSBwcm9wZXJ0eSAoTmFOKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICAv
LyBOYU4gKDE1LjEuMS4xKSBoYXMgW1tDb25maWd1cmFibGVdXSBzZXQgdG8gZmFsc2UuDQotICB2
YXIgZCA9IGRlbGV0ZSBOYU47DQotICBpZiAoZCA9PT0gZmFsc2UpIHsNCi0gICAgcmV0dXJuIHRy
dWU7DQotICB9DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisKKy8qCitUaGlzIHRlc3QgaXMgYWN0dWFsbHkgdGVzdGluZyB0aGUgW1tEZWxldGVdXSBp
bnRlcm5hbCBtZXRob2QgKDguMTIuOCkuIFNpbmNlIHRoZQorbGFuZ3VhZ2UgcHJvdmlkZXMgbm8g
d2F5IHRvIGRpcmVjdGx5IGV4ZXJjaXNlIFtbRGVsZXRlXV0sIHRoZSB0ZXN0cyBhcmUgcGxhY2Vk
IGhlcmUuCisqLworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxMS40LjEtNC5h
LTQiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS40LzExLjQuMS8xMS40LjEtNC5h
LTQuanMiLAorCitkZXNjcmlwdGlvbjogImRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIGZhbHNlIHdo
ZW4gZGVsZXRpbmcgYSBub24tY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydHkgKE5hTikiLAorCit0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgLy8gTmFOICgxNS4xLjEuMSkgaGFzIFtbQ29u
ZmlndXJhYmxlXV0gc2V0IHRvIGZhbHNlLgorICB2YXIgZCA9IGRlbGV0ZSBOYU47CisgIGlmIChk
ID09PSBmYWxzZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfQorfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTEuNC4xLTQuYS00LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCAr
MSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS00LmEtNS5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTEuNC4xLTQuYS01LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTQuYS01LmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDQ1ICsxLDQ1IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IN
Ci0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0v
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gDQotDQotLyoNCi1UaGlzIHRlc3QgaXMgYWN0dWFsbHkgdGVzdGlu
ZyB0aGUgW1tEZWxldGVdXSBpbnRlcm5hbCBtZXRob2QgKDguMTIuOCkuIFNpbmNlIHRoZQ0KLWxh
bmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0
aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KLSovDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsNCi1pZDogIjExLjQuMS00LmEtNSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS01LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogImRlbGV0
ZSBvcGVyYXRvciByZXR1cm5zIGZhbHNlIHdoZW4gZGVsZXRpbmcgdGhlIGVudmlyb25tZW50IG9i
amVjdCBpbnNpZGUgJ3dpdGgnIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0g
IHZhciBvID0gbmV3IE9iamVjdCgpOw0KLSAgby54ID0gMTsNCi0gIHZhciBkOw0KLSAgd2l0aChv
KQ0KLSAgew0KLSAgICBkID0gZGVsZXRlIG87DQotICB9DQotICBpZiAoZCA9PT0gZmFsc2UgJiYg
dHlwZW9mKG8pID09PSAnb2JqZWN0JyAmJiBvLnggPT09IDEpIHsNCi0gICAgcmV0dXJuIHRydWU7
DQotICB9DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8v
LyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisKKy8qCitUaGlzIHRlc3QgaXMgYWN0dWFsbHkgdGVzdGluZyB0aGUgW1tEZWxldGVdXSBpbnRl
cm5hbCBtZXRob2QgKDguMTIuOCkuIFNpbmNlIHRoZQorbGFuZ3VhZ2UgcHJvdmlkZXMgbm8gd2F5
IHRvIGRpcmVjdGx5IGV4ZXJjaXNlIFtbRGVsZXRlXV0sIHRoZSB0ZXN0cyBhcmUgcGxhY2VkIGhl
cmUuCisqLworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxMS40LjEtNC5hLTUi
LAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS40LzExLjQuMS8xMS40LjEtNC5hLTUu
anMiLAorCitkZXNjcmlwdGlvbjogImRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIGZhbHNlIHdoZW4g
ZGVsZXRpbmcgdGhlIGVudmlyb25tZW50IG9iamVjdCBpbnNpZGUgJ3dpdGgnIiwKKwordGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBvID0gbmV3IE9iamVjdCgpOworICBvLnggPSAx
OworICB2YXIgZDsKKyAgd2l0aChvKQorICB7CisgICAgZCA9IGRlbGV0ZSBvOworICB9CisgIGlm
IChkID09PSBmYWxzZSAmJiB0eXBlb2YobykgPT09ICdvYmplY3QnICYmIG8ueCA9PT0gMSkgewor
ICAgIHJldHVybiB0cnVlOworICB9CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTQuYS01Lmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS00LmEtNi5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTQuYS02Lmpz
CShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTEuNC4xLTQuYS02LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ1ICsxLDQ1
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotLyoNCi1UaGlzIHRlc3QgaXMgYWN0dWFsbHkgdGVzdGluZyB0aGUgW1tEZWxldGVd
XSBpbnRlcm5hbCBtZXRob2QgKDguMTIuOCkuIFNpbmNlIHRoZQ0KLWxhbmd1YWdlIHByb3ZpZGVz
IG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBs
YWNlZCBoZXJlLg0KLSovDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjEx
LjQuMS00LmEtNiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTEvMTEuNC8xMS40LjEv
MTEuNC4xLTQuYS02LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogImRlbGV0ZSBvcGVyYXRvciByZXR1
cm5zIHRydWUgd2hlbiBkZWxldGluZyBhIHByb3BlcnR5IGluc2lkZSAnd2l0aCciLA0KLQ0KLXRl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIG8gPSBuZXcgT2JqZWN0KCk7DQotICBv
LnggPSAxOw0KLSAgdmFyIGQ7DQotICB3aXRoKG8pDQotICB7DQotICAgIGQgPSBkZWxldGUgeDsN
Ci0gIH0NCi0gIGlmIChkID09PSB0cnVlICYmIG8ueCA9PT0gdW5kZWZpbmVkKSB7DQotICAgIHJl
dHVybiB0cnVlOw0KLSAgfQ0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorCisvKgorVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVs
ZXRlXV0gaW50ZXJuYWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUKK2xhbmd1YWdlIHByb3Zp
ZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJl
IHBsYWNlZCBoZXJlLgorKi8KKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTEu
NC4xLTQuYS02IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTEvMTEuNC8xMS40LjEvMTEu
NC4xLTQuYS02LmpzIiwKKworZGVzY3JpcHRpb246ICJkZWxldGUgb3BlcmF0b3IgcmV0dXJucyB0
cnVlIHdoZW4gZGVsZXRpbmcgYSBwcm9wZXJ0eSBpbnNpZGUgJ3dpdGgnIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBvID0gbmV3IE9iamVjdCgpOworICBvLnggPSAxOwor
ICB2YXIgZDsKKyAgd2l0aChvKQorICB7CisgICAgZCA9IGRlbGV0ZSB4OworICB9CisgIGlmIChk
ID09PSB0cnVlICYmIG8ueCA9PT0gdW5kZWZpbmVkKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0K
KyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtNC5hLTYuanMKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTEuNC4xLTQuYS03LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtNC5hLTcuanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtNC5h
LTcuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDAgKzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0vKg0KLVRoaXMgdGVz
dCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4x
Mi44KS4gU2luY2UgdGhlDQotbGFuZ3VhZ2UgcHJvdmlkZXMgbm8gd2F5IHRvIGRpcmVjdGx5IGV4
ZXJjaXNlIFtbRGVsZXRlXV0sIHRoZSB0ZXN0cyBhcmUgcGxhY2VkIGhlcmUuDQotKi8NCi0NCi1F
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTEuNC4xLTQuYS03IiwNCi0NCi1wYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS40LzExLjQuMS8xMS40LjEtNC5hLTcuanMiLA0KLQ0K
LWRlc2NyaXB0aW9uOiAiZGVsZXRlIG9wZXJhdG9yIGluc2lkZSAnZXZhbCciLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIHggPSAxOw0KLSAgdmFyIGQgPSBldmFsKCJk
ZWxldGUgeCIpOw0KLSAgaWYgKGQgPT09IGZhbHNlICYmIHggPT09IDEpIHsNCi0gICAgcmV0dXJu
IHRydWU7DQotICB9DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisKKy8qCitUaGlzIHRlc3QgaXMgYWN0dWFsbHkgdGVzdGluZyB0aGUgW1tEZWxldGVd
XSBpbnRlcm5hbCBtZXRob2QgKDguMTIuOCkuIFNpbmNlIHRoZQorbGFuZ3VhZ2UgcHJvdmlkZXMg
bm8gd2F5IHRvIGRpcmVjdGx5IGV4ZXJjaXNlIFtbRGVsZXRlXV0sIHRoZSB0ZXN0cyBhcmUgcGxh
Y2VkIGhlcmUuCisqLworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxMS40LjEt
NC5hLTciLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS40LzExLjQuMS8xMS40LjEt
NC5hLTcuanMiLAorCitkZXNjcmlwdGlvbjogImRlbGV0ZSBvcGVyYXRvciBpbnNpZGUgJ2V2YWwn
IiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciB4ID0gMTsKKyAgdmFyIGQg
PSBldmFsKCJkZWxldGUgeCIpOworICBpZiAoZCA9PT0gZmFsc2UgJiYgeCA9PT0gMSkgeworICAg
IHJldHVybiB0cnVlOworICB9CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTQuYS03LmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS00LmEtOC5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTQuYS04LmpzCShy
ZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTEuNC4xLTQuYS04LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ0ICsxLDQ0IEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
DQotDQotLyoNCi1UaGlzIHRlc3QgaXMgYWN0dWFsbHkgdGVzdGluZyB0aGUgW1tEZWxldGVdXSBp
bnRlcm5hbCBtZXRob2QgKDguMTIuOCkuIFNpbmNlIHRoZQ0KLWxhbmd1YWdlIHByb3ZpZGVzIG5v
IHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNl
ZCBoZXJlLg0KLSovDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjExLjQu
MS00LmEtOCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTEvMTEuNC8xMS40LjEvMTEu
NC4xLTQuYS04LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogImRlbGV0ZSBvcGVyYXRvciByZXR1cm5z
IHRydWUgZm9yIGJ1aWx0LWluIG9iamVjdHMgKEpTT04pIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsNCi0gIHRyeSB7DQotICAgICAgdmFyIG8gPSBKU09OOw0KLSAgICAgIHZhciBk
ID0gZGVsZXRlIEpTT047ICANCi0gICAgICBpZiAoZCA9PT0gdHJ1ZSkgeyAgICANCi0gICAgICAg
IHJldHVybiB0cnVlOw0KLSAgICAgIH0NCi0gIH0gZmluYWxseSB7DQotICAgIEpTT04gPSBvOw0K
LSAgfQ0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
CisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8g
CisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
CisvKgorVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJu
YWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUKK2xhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0
byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJl
LgorKi8KKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTEuNC4xLTQuYS04IiwK
KworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS04Lmpz
IiwKKworZGVzY3JpcHRpb246ICJkZWxldGUgb3BlcmF0b3IgcmV0dXJucyB0cnVlIGZvciBidWls
dC1pbiBvYmplY3RzIChKU09OKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB0
cnkgeworICAgICAgdmFyIG8gPSBKU09OOworICAgICAgdmFyIGQgPSBkZWxldGUgSlNPTjsgIAor
ICAgICAgaWYgKGQgPT09IHRydWUpIHsgICAgCisgICAgICAgIHJldHVybiB0cnVlOworICAgICAg
fQorICB9IGZpbmFsbHkgeworICAgIEpTT04gPSBvOworICB9CisgfQorfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTEuNC4xLTQuYS04LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCAr
MSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS00LmEtOS5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTEuNC4xLTQuYS05LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTQuYS05LmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDM5ICsxLDM5IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IN
Ci0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0v
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gDQotDQotLyoNCi1UaGlzIHRlc3QgaXMgYWN0dWFsbHkgdGVzdGlu
ZyB0aGUgW1tEZWxldGVdXSBpbnRlcm5hbCBtZXRob2QgKDguMTIuOCkuIFNpbmNlIHRoZQ0KLWxh
bmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0
aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KLSovDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsNCi1pZDogIjExLjQuMS00LmEtOSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS05LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogImRlbGV0
ZSBvcGVyYXRvciByZXR1cm5zIGZhbHNlIHdoZW4gZGVsZXRpbmcgYSBub24tY29uZmlndXJhYmxl
IGRhdGEgcHJvcGVydHkgKE1hdGguTE4yKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotICB2YXIgZCA9IGRlbGV0ZSBNYXRoLkxOMjsNCi0gIGlmIChkID09PSBmYWxzZSkgew0K
LSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisv
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKworLyoKK1RoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRo
ZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlCitsYW5ndWFn
ZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRl
c3RzIGFyZSBwbGFjZWQgaGVyZS4KKyovCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7Citp
ZDogIjExLjQuMS00LmEtOSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjExLzExLjQvMTEu
NC4xLzExLjQuMS00LmEtOS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiZGVsZXRlIG9wZXJhdG9yIHJl
dHVybnMgZmFsc2Ugd2hlbiBkZWxldGluZyBhIG5vbi1jb25maWd1cmFibGUgZGF0YSBwcm9wZXJ0
eSAoTWF0aC5MTjIpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkID0g
ZGVsZXRlIE1hdGguTE4yOworICBpZiAoZCA9PT0gZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsK
KyAgfQorIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS00LmEtOS5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xMS40LjEtNS0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtNS0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTUt
MS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzNyArMSwzNyBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxMS40LjEtNS0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxMS8xMS40LzExLjQuMS8xMS40LjEtNS0xLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjog
ImRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIGZhbHNlIHdoZW4gZGVsZXRpbmcgYSBkaXJlY3QgcmVm
ZXJlbmNlIHRvIGEgdmFyIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZh
ciB4ID0gMTsNCi0NCi0gIC8vIE5vdywgZGVsZXRpbmcgJ3gnIGRpcmVjdGx5IHNob3VsZCBmYWls
Ow0KLSAgdmFyIGQgPSBkZWxldGUgeDsNCi0gIGlmKGQgPT09IGZhbHNlICYmIHggPT09IDEpDQot
ICAgIHJldHVybiB0cnVlOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjExLjQuMS01
LTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS40LzExLjQuMS8xMS40LjEtNS0x
LmpzIiwKKworZGVzY3JpcHRpb246ICJkZWxldGUgb3BlcmF0b3IgcmV0dXJucyBmYWxzZSB3aGVu
IGRlbGV0aW5nIGEgZGlyZWN0IHJlZmVyZW5jZSB0byBhIHZhciIsCisKK3Rlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworICB2YXIgeCA9IDE7CisKKyAgLy8gTm93LCBkZWxldGluZyAneCcgZGly
ZWN0bHkgc2hvdWxkIGZhaWw7CisgIHZhciBkID0gZGVsZXRlIHg7CisgIGlmKGQgPT09IGZhbHNl
ICYmIHggPT09IDEpCisgICAgcmV0dXJuIHRydWU7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEuNC4x
LTUtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xG
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtNS0yLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMS40LjEtNS0y
LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTUtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MCArMSw0
MCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8v
IA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQot
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0v
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0K
LS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxMS40LjEtNS0y
IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMS8xMS40LzExLjQuMS8xMS40LjEtNS0y
LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogImRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIGZhbHNlIHdo
ZW4gZGVsZXRpbmcgYSBkaXJlY3QgcmVmZXJlbmNlIHRvIGEgZnVuY3Rpb24gYXJndW1lbnQiLA0K
LQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgDQotICBmdW5jdGlvbiBmb28oYSxi
KSB7DQotICANCi0gICAgLy8gTm93LCBkZWxldGluZyAnYScgZGlyZWN0bHkgc2hvdWxkIGZhaWwN
Ci0gICAgLy8gYmVjYXVzZSAnYScgaXMgZGlyZWN0IHJlZmVyZW5jZSB0byBhIGZ1bmN0aW9uIGFy
Z3VtZW50Ow0KLSAgICB2YXIgZCA9IGRlbGV0ZSBhOw0KLSAgICByZXR1cm4gKGQgPT09IGZhbHNl
ICYmIGEgPT09IDEpOw0KLSAgfQ0KLSAgcmV0dXJuIGZvbygxLDIpOyAgDQotIH0NCi19KTsNCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsKK2lkOiAiMTEuNC4xLTUtMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjExLzExLjQvMTEuNC4xLzExLjQuMS01LTIuanMiLAorCitkZXNjcmlwdGlvbjogImRlbGV0ZSBv
cGVyYXRvciByZXR1cm5zIGZhbHNlIHdoZW4gZGVsZXRpbmcgYSBkaXJlY3QgcmVmZXJlbmNlIHRv
IGEgZnVuY3Rpb24gYXJndW1lbnQiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAg
CisgIGZ1bmN0aW9uIGZvbyhhLGIpIHsKKyAgCisgICAgLy8gTm93LCBkZWxldGluZyAnYScgZGly
ZWN0bHkgc2hvdWxkIGZhaWwKKyAgICAvLyBiZWNhdXNlICdhJyBpcyBkaXJlY3QgcmVmZXJlbmNl
IHRvIGEgZnVuY3Rpb24gYXJndW1lbnQ7CisgICAgdmFyIGQgPSBkZWxldGUgYTsKKyAgICByZXR1
cm4gKGQgPT09IGZhbHNlICYmIGEgPT09IDEpOworICB9CisgIHJldHVybiBmb28oMSwyKTsgIAor
IH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS01LTIuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTEu
NC4xLTUtMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTEuNC4xLTUtMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjQuMS01LTMuanMJKHdv
cmtpbmcgY29weSkKQEAgLTEsMzcgKzEsMzcgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QN
Ci0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggew0KLWlkOiAiMTEuNC4xLTUtMyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtMy5qcyIsDQotDQotZGVzY3JpcHRpb246ICJkZWxldGUg
b3BlcmF0b3IgcmV0dXJucyBmYWxzZSB3aGVuIGRlbGV0aW5nIGEgZGlyZWN0IHJlZmVyZW5jZSB0
byBhIGZ1bmN0aW9uIG5hbWUiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAg
dmFyIGZvbyA9IGZ1bmN0aW9uKCl7fTsNCi0NCi0gIC8vIE5vdywgZGVsZXRpbmcgJ2ZvbycgZGly
ZWN0bHkgc2hvdWxkIGZhaWw7DQotICB2YXIgZCA9IGRlbGV0ZSBmb287DQotICBpZihkID09PSBm
YWxzZSAmJiBmbkV4aXN0cyhmb28pKQ0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gfQ0KLX0pOw0KKy8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggeworaWQ6ICIxMS40LjEtNS0zIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtMy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiZGVsZXRlIG9w
ZXJhdG9yIHJldHVybnMgZmFsc2Ugd2hlbiBkZWxldGluZyBhIGRpcmVjdCByZWZlcmVuY2UgdG8g
YSBmdW5jdGlvbiBuYW1lIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBm
b28gPSBmdW5jdGlvbigpe307CisKKyAgLy8gTm93LCBkZWxldGluZyAnZm9vJyBkaXJlY3RseSBz
aG91bGQgZmFpbDsKKyAgdmFyIGQgPSBkZWxldGUgZm9vOworICBpZihkID09PSBmYWxzZSAmJiBm
bkV4aXN0cyhmb28pKQorICAgIHJldHVybiB0cnVlOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzExLjQu
MS01LTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitM
RgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMTAtMC0xLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xMC0wLTEu
anMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xMi4xMC0wLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDMgKzEsNDMg
QEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyAN
Ci0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0v
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiOyBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjEyLjEwLTAtMSIs
DQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTIvMTIuMTAvMTIuMTAtMC0xLmpzIiwNCi0N
Ci1kZXNjcmlwdGlvbjogIndpdGggZG9lcyBub3QgY2hhbmdlIGRlY2xhcmF0aW9uIHNjb3BlIC0g
dmFycyBpbiB3aXRoIGFyZSB2aXNpYmxlIG91dHNpZGUiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgew0KLSAgdmFyIG8gPSB7fTsNCi0gIHZhciBmID0gZnVuY3Rpb24gKCkgew0KLSAg
ICAvKiBjYXB0dXJlIGZvbyBiaW5kaW5nIGJlZm9yZSBleGVjdXRpbmcgd2l0aCAqLw0KLSAgICBy
ZXR1cm4gZm9vOw0KLSAgfQ0KLQ0KLSAgd2l0aCAobykgew0KLSAgICB2YXIgZm9vID0gIjEyLjEw
LTAtMSI7DQotICB9DQotDQotICByZXR1cm4gZigpPT09IjEyLjEwLTAtMSINCi0NCi0gfQ0KLX0p
Ow0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAor
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIjsgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTIuMTAtMC0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTIvMTIuMTAvMTIuMTAtMC0xLmpzIiwKKworZGVzY3JpcHRpb246ICJ3aXRoIGRvZXMg
bm90IGNoYW5nZSBkZWNsYXJhdGlvbiBzY29wZSAtIHZhcnMgaW4gd2l0aCBhcmUgdmlzaWJsZSBv
dXRzaWRlIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBvID0ge307Cisg
IHZhciBmID0gZnVuY3Rpb24gKCkgeworICAgIC8qIGNhcHR1cmUgZm9vIGJpbmRpbmcgYmVmb3Jl
IGV4ZWN1dGluZyB3aXRoICovCisgICAgcmV0dXJuIGZvbzsKKyAgfQorCisgIHdpdGggKG8pIHsK
KyAgICB2YXIgZm9vID0gIjEyLjEwLTAtMSI7CisgIH0KKworICByZXR1cm4gZigpPT09IjEyLjEw
LTAtMSIKKworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEyLjEwLTAtMS5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xMi4xMC0wLTEwLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xMC0wLTEwLmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMTAtMC0x
MC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NSArMSw0NSBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxMi4xMC0wLTEwIiwNCi0NCi1wYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxMi8xMi4xMC8xMi4xMC0wLTEwLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIndpdGgg
aW50cm9kdWNlcyBzY29wZSAtIG5hbWUgbG9va3VwIGZpbmRzIGZ1bmN0aW9uIHBhcmFtZXRlciIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBmdW5jdGlvbiBmKG8pIHsNCi0N
Ci0gICAgZnVuY3Rpb24gaW5uZXJmKG8sIHgpIHsNCi0gICAgICB3aXRoIChvKSB7DQotICAgICAg
ICByZXR1cm4geDsNCi0gICAgICB9DQotICAgIH0NCi0NCi0gICAgcmV0dXJuIGlubmVyZihvLCA0
Mik7DQotICB9DQotICANCi0gIGlmIChmKHt9KSA9PT0gNDIpIHsNCi0gICAgcmV0dXJuIHRydWU7
DQotICB9DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8v
LyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTIuMTAtMC0xMCIsCisKK3Bh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjEyLzEyLjEwLzEyLjEwLTAtMTAuanMiLAorCitkZXNjcmlw
dGlvbjogIndpdGggaW50cm9kdWNlcyBzY29wZSAtIG5hbWUgbG9va3VwIGZpbmRzIGZ1bmN0aW9u
IHBhcmFtZXRlciIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBmdW5jdGlvbiBm
KG8pIHsKKworICAgIGZ1bmN0aW9uIGlubmVyZihvLCB4KSB7CisgICAgICB3aXRoIChvKSB7Cisg
ICAgICAgIHJldHVybiB4OworICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBpbm5lcmYobywg
NDIpOworICB9CisgIAorICBpZiAoZih7fSkgPT09IDQyKSB7CisgICAgcmV0dXJuIHRydWU7Cisg
IH0KKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xMC0wLTEwLmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzEyLjEwLTAtMTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzEyLjEwLTAtMTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xMC0wLTExLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ3ICsxLDQ3IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsNCi1pZDogIjEyLjEwLTAtMTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjEyLzEyLjEwLzEyLjEwLTAtMTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAid2l0aCBpbnRy
b2R1Y2VzIHNjb3BlIC0gbmFtZSBsb29rdXAgZmluZHMgaW5uZXIgdmFyaWFibGUiLA0KLQ0KLXRl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgZnVuY3Rpb24gZihvKSB7DQotDQotICAgIGZ1
bmN0aW9uIGlubmVyZihvKSB7DQotICAgICAgdmFyIHggPSA0MjsNCi0NCi0gICAgICB3aXRoIChv
KSB7DQotICAgICAgICByZXR1cm4geDsNCi0gICAgICB9DQotICAgIH0NCi0NCi0gICAgcmV0dXJu
IGlubmVyZihvKTsNCi0gIH0NCi0gIA0KLSAgaWYgKGYoe30pID09PSA0Mikgew0KLSAgICByZXR1
cm4gdHJ1ZTsNCi0gIH0NCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxMi4xMC0wLTEx
IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTIvMTIuMTAvMTIuMTAtMC0xMS5qcyIsCisK
K2Rlc2NyaXB0aW9uOiAid2l0aCBpbnRyb2R1Y2VzIHNjb3BlIC0gbmFtZSBsb29rdXAgZmluZHMg
aW5uZXIgdmFyaWFibGUiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgZnVuY3Rp
b24gZihvKSB7CisKKyAgICBmdW5jdGlvbiBpbm5lcmYobykgeworICAgICAgdmFyIHggPSA0MjsK
KworICAgICAgd2l0aCAobykgeworICAgICAgICByZXR1cm4geDsKKyAgICAgIH0KKyAgICB9CisK
KyAgICByZXR1cm4gaW5uZXJmKG8pOworICB9CisgIAorICBpZiAoZih7fSkgPT09IDQyKSB7Cisg
ICAgcmV0dXJuIHRydWU7CisgIH0KKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xMC0wLTExLmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzEyLjEwLTAtMTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEyLjEwLTAtMTIuanMJKHJldmlz
aW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xMi4xMC0wLTEyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ1ICsxLDQ1IEBACi0vLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
Rg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjEyLjEwLTAtMTIiLA0KLQ0KLXBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjEyLzEyLjEwLzEyLjEwLTAtMTIuanMiLA0KLQ0KLWRlc2Ny
aXB0aW9uOiAid2l0aCBpbnRyb2R1Y2VzIHNjb3BlIC0gbmFtZSBsb29rdXAgZmluZHMgcHJvcGVy
dHkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgZnVuY3Rpb24gZihvKSB7
DQotDQotICAgIGZ1bmN0aW9uIGlubmVyZihvKSB7DQotICAgICAgd2l0aCAobykgew0KLSAgICAg
ICAgcmV0dXJuIHg7DQotICAgICAgfQ0KLSAgICB9DQotDQotICAgIHJldHVybiBpbm5lcmYobyk7
DQotICB9DQotICANCi0gIGlmIChmKHt4OjQyfSkgPT09IDQyKSB7DQotICAgIHJldHVybiB0cnVl
Ow0KLSAgfQ0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisv
Ly8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjEyLjEwLTAtMTIiLAorCitw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMi8xMi4xMC8xMi4xMC0wLTEyLmpzIiwKKworZGVzY3Jp
cHRpb246ICJ3aXRoIGludHJvZHVjZXMgc2NvcGUgLSBuYW1lIGxvb2t1cCBmaW5kcyBwcm9wZXJ0
eSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBmdW5jdGlvbiBmKG8pIHsKKwor
ICAgIGZ1bmN0aW9uIGlubmVyZihvKSB7CisgICAgICB3aXRoIChvKSB7CisgICAgICAgIHJldHVy
biB4OworICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBpbm5lcmYobyk7CisgIH0KKyAgCisg
IGlmIChmKHt4OjQyfSkgPT09IDQyKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9Cit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xMi4xMC0wLTEyLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEyLjEwLTAtMy5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTIuMTAtMC0zLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMTAtMC0zLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDM5ICsxLDM5IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IN
Ci0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0v
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1p
ZDogIjEyLjEwLTAtMyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTIvMTIuMTAvMTIu
MTAtMC0zLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIndpdGggaW50cm9kdWNlcyBzY29wZSAtIHRo
YXQgaXMgY2FwdHVyZWQgYnkgZnVuY3Rpb24gZXhwcmVzc2lvbiIsDQotDQotdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7DQotICB2YXIgbyA9IHtwcm9wOiAiMTIuMTAtMC0zIGJlZm9yZSJ9Ow0K
LSAgdmFyIGY7DQotDQotICB3aXRoIChvKSB7DQotICAgIGYgPSBmdW5jdGlvbiAoKSB7IHJldHVy
biBwcm9wOyB9DQotICB9DQotICBvLnByb3AgPSAiMTIuMTAtMC0zIGFmdGVyIjsNCi0gIHJldHVy
biBmKCk9PT0iMTIuMTAtMC0zIGFmdGVyIg0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDog
IjEyLjEwLTAtMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjEyLzEyLjEwLzEyLjEwLTAt
My5qcyIsCisKK2Rlc2NyaXB0aW9uOiAid2l0aCBpbnRyb2R1Y2VzIHNjb3BlIC0gdGhhdCBpcyBj
YXB0dXJlZCBieSBmdW5jdGlvbiBleHByZXNzaW9uIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7CisgIHZhciBvID0ge3Byb3A6ICIxMi4xMC0wLTMgYmVmb3JlIn07CisgIHZhciBmOwor
CisgIHdpdGggKG8pIHsKKyAgICBmID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gcHJvcDsgfQorICB9
CisgIG8ucHJvcCA9ICIxMi4xMC0wLTMgYWZ0ZXIiOworICByZXR1cm4gZigpPT09IjEyLjEwLTAt
MyBhZnRlciIKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xMC0wLTMuanMKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTIuMTAtMC03LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xMC0wLTcuanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xMC0wLTcu
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDMgKzEsNDMgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQot
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggew0KLWlkOiAiMTIuMTAtMC03IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxMi8xMi4xMC8xMi4xMC0wLTcuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAid2l0aCBpbnRy
b2R1Y2VzIHNjb3BlIC0gc2NvcGUgcmVtb3ZlZCB3aGVuIGV4aXRpbmcgd2l0aCBzdGF0ZW1lbnQi
LA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIG8gPSB7Zm9vOiAxfTsN
Ci0NCi0gIHdpdGggKG8pIHsNCi0gICAgZm9vID0gNDI7DQotICB9DQotDQotICB0cnkgew0KLSAg
ICBmb287DQotICB9DQotICBjYXRjaCAoZSkgew0KLSAgICAgcmV0dXJuIHRydWU7DQotICB9DQot
IH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAK
Ky8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
CisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYK
Ky8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTIuMTAtMC03IiwKKworcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTIvMTIuMTAvMTIuMTAtMC03LmpzIiwKKworZGVzY3JpcHRpb246ICJ3aXRo
IGludHJvZHVjZXMgc2NvcGUgLSBzY29wZSByZW1vdmVkIHdoZW4gZXhpdGluZyB3aXRoIHN0YXRl
bWVudCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgbyA9IHtmb286IDF9
OworCisgIHdpdGggKG8pIHsKKyAgICBmb28gPSA0MjsKKyAgfQorCisgIHRyeSB7CisgICAgZm9v
OworICB9CisgIGNhdGNoIChlKSB7CisgICAgIHJldHVybiB0cnVlOworICB9CisgfQorfSk7CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTIuMTAtMC03LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMg
LTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEyLjEwLTAtOC5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTIuMTAtMC04LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMTAtMC04LmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDM4ICsxLDM4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0v
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDog
IjEyLjEwLTAtOCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTIvMTIuMTAvMTIuMTAt
MC04LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIndpdGggaW50cm9kdWNlcyBzY29wZSAtIHZhciBp
bml0aWFsaXplciBzZXRzIGxpa2UgbmFtZWQgcHJvcGVydHkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgew0KLSAgdmFyIG8gPSB7Zm9vOiA0Mn07DQotDQotICB3aXRoIChvKSB7DQot
ICAgIHZhciBmb28gPSAic2V0IGluIHdpdGgiOw0KLSAgfQ0KLQ0KLSAgcmV0dXJuIG8uZm9vID09
PSAic2V0IGluIHdpdGgiOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjEyLjEwLTAt
OCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjEyLzEyLjEwLzEyLjEwLTAtOC5qcyIsCisK
K2Rlc2NyaXB0aW9uOiAid2l0aCBpbnRyb2R1Y2VzIHNjb3BlIC0gdmFyIGluaXRpYWxpemVyIHNl
dHMgbGlrZSBuYW1lZCBwcm9wZXJ0eSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewor
ICB2YXIgbyA9IHtmb286IDQyfTsKKworICB3aXRoIChvKSB7CisgICAgdmFyIGZvbyA9ICJzZXQg
aW4gd2l0aCI7CisgIH0KKworICByZXR1cm4gby5mb28gPT09ICJzZXQgaW4gd2l0aCI7CisgfQor
fSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTIuMTAtMC04LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEyLjEwLTAt
OS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTIuMTAtMC05LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMTAtMC05LmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDQ2ICsxLDQ2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MN
Ci0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0v
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsN
Ci1pZDogIjEyLjEwLTAtOSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTIvMTIuMTAv
MTIuMTAtMC05LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIndpdGggaW50cm9kdWNlcyBzY29wZSAt
IG5hbWUgbG9va3VwIGZpbmRzIG91dGVyIHZhcmlhYmxlIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsNCi0gIGZ1bmN0aW9uIGYobykgew0KLSAgICB2YXIgeCA9IDQyOw0KLQ0KLSAg
ICBmdW5jdGlvbiBpbm5lcmYobykgew0KLSAgICAgIHdpdGggKG8pIHsNCi0gICAgICAgIHJldHVy
biB4Ow0KLSAgICAgIH0NCi0gICAgfQ0KLQ0KLSAgICByZXR1cm4gaW5uZXJmKG8pOw0KLSAgfQ0K
LSAgDQotICBpZiAoZih7fSkgPT09IDQyKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjEyLjEwLTAtOSIsCisKK3BhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjEyLzEyLjEwLzEyLjEwLTAtOS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAid2l0aCBp
bnRyb2R1Y2VzIHNjb3BlIC0gbmFtZSBsb29rdXAgZmluZHMgb3V0ZXIgdmFyaWFibGUiLAorCit0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgZnVuY3Rpb24gZihvKSB7CisgICAgdmFyIHgg
PSA0MjsKKworICAgIGZ1bmN0aW9uIGlubmVyZihvKSB7CisgICAgICB3aXRoIChvKSB7CisgICAg
ICAgIHJldHVybiB4OworICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBpbm5lcmYobyk7Cisg
IH0KKyAgCisgIGlmIChmKHt9KSA9PT0gNDIpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0K
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzEyLjEwLTAtOS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xMC0y
LTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzEyLjEwLTItMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEyLjEwLTItMS5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSw0NCArMSw0NCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
DQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQot
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
DQotaWQ6ICIxMi4xMC0yLTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjEyLzEyLjEw
LzEyLjEwLTItMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJ3aXRoIC0gZXhwcmVzc2lvbiBiZWlu
ZyBOdW1iZXIiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIG8gPSAy
Ow0KLSAgdmFyIGZvbyA9IDE7DQotICB0cnkNCi0gIHsNCi0gICAgd2l0aCAobykgew0KLSAgICAg
IGZvbyA9IDQyOw0KLSAgICB9DQotICB9DQotICBjYXRjaChlKQ0KLSAgew0KLSAgfQ0KLSAgcmV0
dXJuIHRydWU7DQotICANCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxMi4xMC0yLTEi
LAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMi8xMi4xMC8xMi4xMC0yLTEuanMiLAorCitk
ZXNjcmlwdGlvbjogIndpdGggLSBleHByZXNzaW9uIGJlaW5nIE51bWJlciIsCisKK3Rlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgbyA9IDI7CisgIHZhciBmb28gPSAxOworICB0cnkK
KyAgeworICAgIHdpdGggKG8pIHsKKyAgICAgIGZvbyA9IDQyOworICAgIH0KKyAgfQorICBjYXRj
aChlKQorICB7CisgIH0KKyAgcmV0dXJuIHRydWU7CisgIAorIH0KK30pOwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEy
LjEwLTItMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMK
K0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xMC0yLTIuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEyLjEwLTIt
Mi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzEyLjEwLTItMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NCArMSw0
NCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8v
IA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQot
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0v
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0K
LS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxMi4xMC0yLTIi
LA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjEyLzEyLjEwLzEyLjEwLTItMi5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJ3aXRoIC0gZXhwcmVzc2lvbiBiZWluZyBCb29sZWFuIiwNCi0NCi10
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBvID0gdHJ1ZTsNCi0gIHZhciBmb28g
PSAxOw0KLSAgdHJ5DQotICB7DQotICAgIHdpdGggKG8pIHsNCi0gICAgICBmb28gPSA0MjsNCi0g
ICAgfQ0KLSAgfQ0KLSAgY2F0Y2goZSkNCi0gIHsNCi0gIH0NCi0gIHJldHVybiB0cnVlOw0KLSAg
DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKwor
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTIuMTAtMi0yIiwKKworcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTIvMTIuMTAvMTIuMTAtMi0yLmpzIiwKKworZGVzY3JpcHRpb246ICJ3
aXRoIC0gZXhwcmVzc2lvbiBiZWluZyBCb29sZWFuIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7CisgIHZhciBvID0gdHJ1ZTsKKyAgdmFyIGZvbyA9IDE7CisgIHRyeQorICB7CisgICAg
d2l0aCAobykgeworICAgICAgZm9vID0gNDI7CisgICAgfQorICB9CisgIGNhdGNoKGUpCisgIHsK
KyAgfQorICByZXR1cm4gdHJ1ZTsKKyAgCisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMTAtMi0yLmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzEyLjEwLTItMy5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMTAtMi0zLmpzCShyZXZp
c2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTIuMTAtMi0zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ0ICsxLDQ0IEBACi0vLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
Rg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjEyLjEwLTItMyIsDQotDQotcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTIvMTIuMTAvMTIuMTAtMi0zLmpzIiwNCi0NCi1kZXNjcmlw
dGlvbjogIndpdGggLSBleHByZXNzaW9uIGJlaW5nIHN0cmluZyIsDQotDQotdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7DQotICB2YXIgbyA9ICJzdHIiOw0KLSAgdmFyIGZvbyA9IDE7DQotICB0
cnkNCi0gIHsNCi0gICAgd2l0aCAobykgew0KLSAgICAgIGZvbyA9IDQyOw0KLSAgICB9DQotICB9
DQotICBjYXRjaChlKQ0KLSAgew0KLSAgfQ0KLSAgcmV0dXJuIHRydWU7DQotICANCi0gfQ0KLX0p
Ow0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAor
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisv
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxMi4xMC0yLTMiLAorCitwYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxMi8xMi4xMC8xMi4xMC0yLTMuanMiLAorCitkZXNjcmlwdGlvbjogIndpdGggLSBleHBy
ZXNzaW9uIGJlaW5nIHN0cmluZyIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2
YXIgbyA9ICJzdHIiOworICB2YXIgZm9vID0gMTsKKyAgdHJ5CisgIHsKKyAgICB3aXRoIChvKSB7
CisgICAgICBmb28gPSA0MjsKKyAgICB9CisgIH0KKyAgY2F0Y2goZSkKKyAgeworICB9CisgIHJl
dHVybiB0cnVlOworICAKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xMC0yLTMuanMKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTIuMTAtNy0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xMC03LTEuanMJKHJldmlzaW9uIDE5OTU0
OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4x
MC03LTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDkgKzEsNDkgQEAKLS8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
DQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTIuMTAtNy0xIiwNCi0NCi1wYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxMi8xMi4xMC8xMi4xMC03LTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAid2l0
aCBpbnRyb2R1Y2VzIHNjb3BlIC0gcmVzdG9yZXMgdGhlIGVhcmxpZXIgZW52aXJvbm1lbnQgb24g
ZXhpdCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgYSA9IDE7DQot
DQotICB2YXIgbyA9IHthIDogMn07DQotICB0cnkNCi0gIHsNCi0gICAgd2l0aCAobykgew0KLSAg
ICAgIGEgPSAzOw0KLSAgICAgIHRocm93IDE7DQotICAgICAgYSA9IDQ7DQotICAgIH0NCi0gIH0N
Ci0gIGNhdGNoKGUpDQotICB7fQ0KLQ0KLSAgaWYgKGEgPT09IDEgJiYgby5hID09PSAzKSB7DQot
ICAgICAgcmV0dXJuIHRydWU7DQotICB9DQotDQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTIuMTAtNy0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTIvMTIuMTAvMTIuMTAt
Ny0xLmpzIiwKKworZGVzY3JpcHRpb246ICJ3aXRoIGludHJvZHVjZXMgc2NvcGUgLSByZXN0b3Jl
cyB0aGUgZWFybGllciBlbnZpcm9ubWVudCBvbiBleGl0IiwKKwordGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7CisgIHZhciBhID0gMTsKKworICB2YXIgbyA9IHthIDogMn07CisgIHRyeQorICB7
CisgICAgd2l0aCAobykgeworICAgICAgYSA9IDM7CisgICAgICB0aHJvdyAxOworICAgICAgYSA9
IDQ7CisgICAgfQorICB9CisgIGNhdGNoKGUpCisgIHt9CisKKyAgaWYgKGEgPT09IDEgJiYgby5h
ID09PSAzKSB7CisgICAgICByZXR1cm4gdHJ1ZTsKKyAgfQorCisgfQorfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTIuMTAtNy0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAj
IworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEyLjE0LTEuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEyLjE0LTEu
anMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xMi4xNC0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQxICsxLDQxIEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
DQotDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjEyLjE0LTEiLA0K
LQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjEyLzEyLjE0LzEyLjE0LTEuanMiLA0KLQ0KLWRl
c2NyaXB0aW9uOiAiY2F0Y2ggZG9lc24ndCBjaGFuZ2UgZGVjbGFyYXRpb24gc2NvcGUgLSB2YXIg
aW5pdGlhbGl6ZXIgaW4gY2F0Y2ggd2l0aCBzYW1lIG5hbWUgYXMgY2F0Y2ggcGFyYW1ldGVyIGNo
YW5nZXMgcGFyYW1ldGVyIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGZv
byA9ICJwcmlvciB0byB0aHJvdyI7DQotICB0cnkgew0KLSAgICB0aHJvdyBuZXcgRXJyb3IoKTsN
Ci0gIH0NCi0gIGNhdGNoIChmb28pIHsNCi0gICAgdmFyIGZvbyA9ICJpbml0aWFsaXplciBpbiBj
YXRjaCI7DQotICB9DQotIHJldHVybiBmb28gPT09ICJwcmlvciB0byB0aHJvdyI7DQotICANCi0g
fQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAor
Ly8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQK
Ky8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgor
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCisKK0VT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjEyLjE0LTEiLAorCitwYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxMi8xMi4xNC8xMi4xNC0xLmpzIiwKKworZGVzY3JpcHRpb246ICJjYXRjaCBk
b2Vzbid0IGNoYW5nZSBkZWNsYXJhdGlvbiBzY29wZSAtIHZhciBpbml0aWFsaXplciBpbiBjYXRj
aCB3aXRoIHNhbWUgbmFtZSBhcyBjYXRjaCBwYXJhbWV0ZXIgY2hhbmdlcyBwYXJhbWV0ZXIiLAor
Cit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgZm9vID0gInByaW9yIHRvIHRocm93IjsK
KyAgdHJ5IHsKKyAgICB0aHJvdyBuZXcgRXJyb3IoKTsKKyAgfQorICBjYXRjaCAoZm9vKSB7Cisg
ICAgdmFyIGZvbyA9ICJpbml0aWFsaXplciBpbiBjYXRjaCI7CisgIH0KKyByZXR1cm4gZm9vID09
PSAicHJpb3IgdG8gdGhyb3ciOworICAKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xNC0xLmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzEyLjE0LTEwLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xNC0xMC5qcwkocmV2aXNpb24g
MTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzEyLjE0LTEwLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ4ICsxLDQ4IEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjEyLjE0LTEwIiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxMi8xMi4xNC8xMi4xNC0xMC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJj
YXRjaCBpbnRyb2R1Y2VzIHNjb3BlIC0gbmFtZSBsb29rdXAgZmluZHMgZnVuY3Rpb24gcGFyYW1l
dGVyIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGZ1bmN0aW9uIGYobykg
ew0KLQ0KLSAgICBmdW5jdGlvbiBpbm5lcmYobywgeCkgew0KLSAgICAgIHRyeSB7DQotICAgICAg
ICB0aHJvdyBvOw0KLSAgICAgIH0NCi0gICAgICBjYXRjaCAoZSkgew0KLSAgICAgICAgcmV0dXJu
IHg7DQotICAgICAgfQ0KLSAgICB9DQotDQotICAgIHJldHVybiBpbm5lcmYobywgNDIpOw0KLSAg
fQ0KLSAgDQotICBpZiAoZih7fSkgPT09IDQyKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0K
LSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
CisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
CisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjEyLjE0LTEwIiwKKworcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTIvMTIuMTQvMTIuMTQtMTAuanMiLAorCitkZXNjcmlwdGlvbjogImNhdGNo
IGludHJvZHVjZXMgc2NvcGUgLSBuYW1lIGxvb2t1cCBmaW5kcyBmdW5jdGlvbiBwYXJhbWV0ZXIi
LAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgZnVuY3Rpb24gZihvKSB7CisKKyAg
ICBmdW5jdGlvbiBpbm5lcmYobywgeCkgeworICAgICAgdHJ5IHsKKyAgICAgICAgdGhyb3cgbzsK
KyAgICAgIH0KKyAgICAgIGNhdGNoIChlKSB7CisgICAgICAgIHJldHVybiB4OworICAgICAgfQor
ICAgIH0KKworICAgIHJldHVybiBpbm5lcmYobywgNDIpOworICB9CisgIAorICBpZiAoZih7fSkg
PT09IDQyKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9Cit9KTsKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4x
NC0xMC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xG
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xNC0xMS5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMTQtMTEuanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xMi4xNC0xMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1MCArMSw1MCBAQAot
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0K
LQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxMi4xNC0xMSIsDQotDQot
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTIvMTIuMTQvMTIuMTQtMTEuanMiLA0KLQ0KLWRlc2Ny
aXB0aW9uOiAiY2F0Y2ggaW50cm9kdWNlcyBzY29wZSAtIG5hbWUgbG9va3VwIGZpbmRzIGlubmVy
IHZhcmlhYmxlIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGZ1bmN0aW9u
IGYobykgew0KLQ0KLSAgICBmdW5jdGlvbiBpbm5lcmYobykgew0KLSAgICAgIHZhciB4ID0gNDI7
DQotDQotICAgICAgdHJ5IHsNCi0gICAgICAgIHRocm93IG87DQotICAgICAgfQ0KLSAgICAgIGNh
dGNoIChlKSB7DQotICAgICAgICByZXR1cm4geDsNCi0gICAgICB9DQotICAgIH0NCi0NCi0gICAg
cmV0dXJuIGlubmVyZihvKTsNCi0gIH0NCi0gIA0KLSAgaWYgKGYoe30pID09PSA0Mikgew0KLSAg
ICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwor
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxMi4x
NC0xMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjEyLzEyLjE0LzEyLjE0LTExLmpzIiwK
KworZGVzY3JpcHRpb246ICJjYXRjaCBpbnRyb2R1Y2VzIHNjb3BlIC0gbmFtZSBsb29rdXAgZmlu
ZHMgaW5uZXIgdmFyaWFibGUiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgZnVu
Y3Rpb24gZihvKSB7CisKKyAgICBmdW5jdGlvbiBpbm5lcmYobykgeworICAgICAgdmFyIHggPSA0
MjsKKworICAgICAgdHJ5IHsKKyAgICAgICAgdGhyb3cgbzsKKyAgICAgIH0KKyAgICAgIGNhdGNo
IChlKSB7CisgICAgICAgIHJldHVybiB4OworICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBp
bm5lcmYobyk7CisgIH0KKyAgCisgIGlmIChmKHt9KSA9PT0gNDIpIHsKKyAgICByZXR1cm4gdHJ1
ZTsKKyAgfQorIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEyLjE0LTExLmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzEyLjE0LTEyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xNC0xMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEyLjE0LTEyLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDQ4ICsxLDQ4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
DQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsNCi1pZDogIjEyLjE0LTEyIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
Mi8xMi4xNC8xMi4xNC0xMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJjYXRjaCBpbnRyb2R1Y2Vz
IHNjb3BlIC0gbmFtZSBsb29rdXAgZmluZHMgcHJvcGVydHkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgew0KLSAgZnVuY3Rpb24gZihvKSB7DQotDQotICAgIGZ1bmN0aW9uIGlubmVy
ZihvKSB7DQotICAgICAgdHJ5IHsNCi0gICAgICAgIHRocm93IG87DQotICAgICAgfQ0KLSAgICAg
IGNhdGNoIChlKSB7DQotICAgICAgICByZXR1cm4gZS54Ow0KLSAgICAgIH0NCi0gICAgfQ0KLQ0K
LSAgICByZXR1cm4gaW5uZXJmKG8pOw0KLSAgfQ0KLSAgDQotICBpZiAoZih7eDo0Mn0pID09PSA0
Mikgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxMi4xNC0xMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjEyLzEyLjE0LzEyLjE0
LTEyLmpzIiwKKworZGVzY3JpcHRpb246ICJjYXRjaCBpbnRyb2R1Y2VzIHNjb3BlIC0gbmFtZSBs
b29rdXAgZmluZHMgcHJvcGVydHkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAg
ZnVuY3Rpb24gZihvKSB7CisKKyAgICBmdW5jdGlvbiBpbm5lcmYobykgeworICAgICAgdHJ5IHsK
KyAgICAgICAgdGhyb3cgbzsKKyAgICAgIH0KKyAgICAgIGNhdGNoIChlKSB7CisgICAgICAgIHJl
dHVybiBlLng7CisgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIGlubmVyZihvKTsKKyAgfQor
ICAKKyAgaWYgKGYoe3g6NDJ9KSA9PT0gNDIpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0K
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzEyLjE0LTEyLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEyLjE0LTEz
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xMi4xNC0xMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEyLjE0LTEzLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDU2ICsxLDU2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IN
Ci0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0v
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1p
ZDogIjEyLjE0LTEzIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMi8xMi4xNC8xMi4x
NC0xMy5qcyIsDQotDQotZGVzY3JpcHRpb246ICJjYXRjaCBpbnRyb2R1Y2VzIHNjb3BlIC0gdXBk
YXRlcyBhcmUgYmFzZWQgb24gc2NvcGUiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
ew0KLSAgdmFyIHJlczEgPSBmYWxzZTsNCi0gIHZhciByZXMyID0gZmFsc2U7DQotICB2YXIgcmVz
MyA9IGZhbHNlOw0KLQ0KLSAgdmFyIHhfMTJfMTRfMTMgPSAnbG9jYWwnOw0KLQ0KLSAgZnVuY3Rp
b24gZm9vKCkgew0KLSAgICB0aGlzLnhfMTJfMTRfMTMgID0gJ2luc3RhbmNlJzsNCi0gIH0NCi0N
Ci0gIHRyeSB7DQotICAgIHRocm93IGZvbzsNCi0gIH0NCi0gIGNhdGNoIChlKSB7DQotICAgIHJl
czEgPSAoeF8xMl8xNF8xMyAgPT09ICdsb2NhbCcpOw0KLSAgICBlKCk7DQotICAgIHJlczIgPSAo
eF8xMl8xNF8xMyAgPT09ICdsb2NhbCcpOw0KLSAgfQ0KLSAgcmVzMyA9ICh4XzEyXzE0XzEzICA9
PT0gJ2xvY2FsJyk7DQotICANCi0gIGlmIChyZXMxID09PSB0cnVlICYmDQotICAgICAgcmVzMiA9
PT0gdHJ1ZSAmJg0KLSAgICAgIHJlczMgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQot
ICB9DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8K
Ky8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAK
Ky8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisK
KworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTIuMTQtMTMiLAorCitwYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxMi8xMi4xNC8xMi4xNC0xMy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAi
Y2F0Y2ggaW50cm9kdWNlcyBzY29wZSAtIHVwZGF0ZXMgYXJlIGJhc2VkIG9uIHNjb3BlIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciByZXMxID0gZmFsc2U7CisgIHZhciBy
ZXMyID0gZmFsc2U7CisgIHZhciByZXMzID0gZmFsc2U7CisKKyAgdmFyIHhfMTJfMTRfMTMgPSAn
bG9jYWwnOworCisgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICB0aGlzLnhfMTJfMTRfMTMgID0gJ2lu
c3RhbmNlJzsKKyAgfQorCisgIHRyeSB7CisgICAgdGhyb3cgZm9vOworICB9CisgIGNhdGNoIChl
KSB7CisgICAgcmVzMSA9ICh4XzEyXzE0XzEzICA9PT0gJ2xvY2FsJyk7CisgICAgZSgpOworICAg
IHJlczIgPSAoeF8xMl8xNF8xMyAgPT09ICdsb2NhbCcpOworICB9CisgIHJlczMgPSAoeF8xMl8x
NF8xMyAgPT09ICdsb2NhbCcpOworICAKKyAgaWYgKHJlczEgPT09IHRydWUgJiYKKyAgICAgIHJl
czIgPT09IHRydWUgJiYKKyAgICAgIHJlczMgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsK
KyAgfQorIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEyLjE0LTEzLmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzEyLjE0LTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzEyLjE0LTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xNC0yLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
Ci0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsNCi1pZDogIjEyLjE0LTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjEyLzEy
LjE0LzEyLjE0LTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiY2F0Y2ggZG9lc24ndCBjaGFuZ2Ug
ZGVjbGFyYXRpb24gc2NvcGUgLSB2YXIgaW5pdGlhbGl6ZXIgaW4gY2F0Y2ggd2l0aCBzYW1lIG5h
bWUgYXMgY2F0Y2ggcGFyYW1ldGVyIGNoYW5nZXMgcGFyYW1ldGVyIiwNCi0NCi10ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGZ1bmN0aW9uIGNhcHR1cmVkRm9vKCkge3JldHVybiBmb299
Ow0KLSAgZm9vID0gInByaW9yIHRvIHRocm93IjsNCi0gIHRyeSB7DQotICAgIHRocm93IG5ldyBF
cnJvcigpOw0KLSAgfQ0KLSAgY2F0Y2ggKGZvbykgew0KLSAgICB2YXIgZm9vID0gImluaXRpYWxp
emVyIGluIGNhdGNoIjsNCi0gICAgcmV0dXJuIGNhcHR1cmVkRm9vKCkgIT09ICJpbml0aWFsaXpl
ciBpbiBjYXRjaCI7DQotICB9DQotICANCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisv
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDog
IjEyLjE0LTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMi8xMi4xNC8xMi4xNC0yLmpz
IiwKKworZGVzY3JpcHRpb246ICJjYXRjaCBkb2Vzbid0IGNoYW5nZSBkZWNsYXJhdGlvbiBzY29w
ZSAtIHZhciBpbml0aWFsaXplciBpbiBjYXRjaCB3aXRoIHNhbWUgbmFtZSBhcyBjYXRjaCBwYXJh
bWV0ZXIgY2hhbmdlcyBwYXJhbWV0ZXIiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsK
KyAgZnVuY3Rpb24gY2FwdHVyZWRGb28oKSB7cmV0dXJuIGZvb307CisgIGZvbyA9ICJwcmlvciB0
byB0aHJvdyI7CisgIHRyeSB7CisgICAgdGhyb3cgbmV3IEVycm9yKCk7CisgIH0KKyAgY2F0Y2gg
KGZvbykgeworICAgIHZhciBmb28gPSAiaW5pdGlhbGl6ZXIgaW4gY2F0Y2giOworICAgIHJldHVy
biBjYXB0dXJlZEZvbygpICE9PSAiaW5pdGlhbGl6ZXIgaW4gY2F0Y2giOworICB9CisgIAorIH0K
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzEyLjE0LTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHls
ZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMTQtMy5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTIuMTQtMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEyLjE0LTMuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsNDkgKzEsNDkgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
Lg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiANCi0NCi0vKg0KLWxvY2FsIHZhcnMgbXVzdCBub3QgYmUgdmlzaWJsZSBv
dXRzaWRlIHdpdGggYmxvY2sNCi1sb2NhbCBmdW5jdGlvbnMgbXVzdCBub3QgYmUgdmlzaWJsZSBv
dXRzaWRlIHdpdGggYmxvY2sNCi1sb2NhbCBmdW5jdGlvbiBleHByZXNzc2lvbnMgc2hvdWxkIG5v
dCBiZSB2aXNpYmxlIG91dHNpZGUgd2l0aCBibG9jaw0KLWxvY2FsIHZhcnMgbXVzdCBzaGFkb3cg
b3V0ZXIgdmFycw0KLWxvY2FsIGZ1bmN0aW9ucyBtdXN0IHNoYWRvdyBvdXRlciBmdW5jdGlvbnMN
Ci1sb2NhbCBmdW5jdGlvbiBleHByZXNzc2lvbnMgbXVzdCBzaGFkb3cgb3V0ZXIgZnVuY3Rpb24g
ZXhwcmVzc2lvbnMNCi1ldmFsIHNob3VsZCB1c2UgdGhlIGFwcGVuZGVkIG9iamVjdCB0byB0aGUg
c2NvcGUgY2hhaW4NCi0qLw0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6
ICIxMi4xNC0zIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMi8xMi4xNC8xMi4xNC0z
LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogImNhdGNoIGRvZXNuJ3QgY2hhbmdlIGRlY2xhcmF0aW9u
IHNjb3BlIC0gdmFyIGRlY2xhcmF0aW9uIGFyZSB2aXNpYmxlIG91dHNpZGUgd2hlbiBuYW1lIGRp
ZmZlcmVudCBmcm9tIGNhdGNoIHBhcmFtZXRlciIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7DQotICB0cnkgew0KLSAgICB0aHJvdyBuZXcgRXJyb3IoKTsNCi0gIH0NCi0gIGNhdGNo
IChlKSB7DQotICAgIHZhciBmb28gPSAiZGVjbGFyYXRpb24gaW4gY2F0Y2giOw0KLSAgfQ0KLSAg
DQotICByZXR1cm4gZm9vID09PSAiZGVjbGFyYXRpb24gaW4gY2F0Y2giOw0KLSB9DQotfSk7DQor
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisvKgorbG9jYWwgdmFycyBt
dXN0IG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgd2l0aCBibG9jaworbG9jYWwgZnVuY3Rpb25zIG11
c3Qgbm90IGJlIHZpc2libGUgb3V0c2lkZSB3aXRoIGJsb2NrCitsb2NhbCBmdW5jdGlvbiBleHBy
ZXNzc2lvbnMgc2hvdWxkIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgd2l0aCBibG9jaworbG9jYWwg
dmFycyBtdXN0IHNoYWRvdyBvdXRlciB2YXJzCitsb2NhbCBmdW5jdGlvbnMgbXVzdCBzaGFkb3cg
b3V0ZXIgZnVuY3Rpb25zCitsb2NhbCBmdW5jdGlvbiBleHByZXNzc2lvbnMgbXVzdCBzaGFkb3cg
b3V0ZXIgZnVuY3Rpb24gZXhwcmVzc2lvbnMKK2V2YWwgc2hvdWxkIHVzZSB0aGUgYXBwZW5kZWQg
b2JqZWN0IHRvIHRoZSBzY29wZSBjaGFpbgorKi8KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggeworaWQ6ICIxMi4xNC0zIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTIvMTIuMTQv
MTIuMTQtMy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiY2F0Y2ggZG9lc24ndCBjaGFuZ2UgZGVjbGFy
YXRpb24gc2NvcGUgLSB2YXIgZGVjbGFyYXRpb24gYXJlIHZpc2libGUgb3V0c2lkZSB3aGVuIG5h
bWUgZGlmZmVyZW50IGZyb20gY2F0Y2ggcGFyYW1ldGVyIiwKKwordGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7CisgIHRyeSB7CisgICAgdGhyb3cgbmV3IEVycm9yKCk7CisgIH0KKyAgY2F0Y2gg
KGUpIHsKKyAgICB2YXIgZm9vID0gImRlY2xhcmF0aW9uIGluIGNhdGNoIjsKKyAgfQorICAKKyAg
cmV0dXJuIGZvbyA9PT0gImRlY2xhcmF0aW9uIGluIGNhdGNoIjsKKyB9Cit9KTsKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xMi4xNC0zLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAj
IworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEyLjE0LTQuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEyLjE0LTQu
anMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xMi4xNC00LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUzICsxLDUzIEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
DQotDQotLyoNCi1sb2NhbCB2YXJzIG11c3Qgbm90IGJlIHZpc2libGUgb3V0c2lkZSB3aXRoIGJs
b2NrDQotbG9jYWwgZnVuY3Rpb25zIG11c3Qgbm90IGJlIHZpc2libGUgb3V0c2lkZSB3aXRoIGJs
b2NrDQotbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIHNob3VsZCBub3QgYmUgdmlzaWJsZSBv
dXRzaWRlIHdpdGggYmxvY2sNCi1sb2NhbCB2YXJzIG11c3Qgc2hhZG93IG91dGVyIHZhcnMNCi1s
b2NhbCBmdW5jdGlvbnMgbXVzdCBzaGFkb3cgb3V0ZXIgZnVuY3Rpb25zDQotbG9jYWwgZnVuY3Rp
b24gZXhwcmVzc3Npb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9uIGV4cHJlc3Npb25zDQot
ZXZhbCBzaG91bGQgdXNlIHRoZSBhcHBlbmRlZCBvYmplY3QgdG8gdGhlIHNjb3BlIGNoYWluDQot
Ki8NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTIuMTQtNCIsDQot
DQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTIvMTIuMTQvMTIuMTQtNC5qcyIsDQotDQotZGVz
Y3JpcHRpb246ICJjYXRjaCBpbnRyb2R1Y2VzIHNjb3BlIC0gYmxvY2stbG9jYWwgdmFycyBtdXN0
IHNoYWRvdyBvdXRlciB2YXJzIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0g
IHZhciBvID0geyBmb28gOiA0Mn07DQotDQotICB0cnkgew0KLSAgICB0aHJvdyBvOw0KLSAgfQ0K
LSAgY2F0Y2ggKGUpIHsNCi0gICAgdmFyIGZvbzsNCi0NCi0gICAgaWYgKGZvbyA9PT0gdW5kZWZp
bmVkKSB7DQotICAgICAgcmV0dXJuIHRydWU7DQotICAgIH0NCi0gIH0NCi0gfQ0KLX0pOw0KKy8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworLyoKK2xvY2FsIHZhcnMgbXVz
dCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIHdpdGggYmxvY2sKK2xvY2FsIGZ1bmN0aW9ucyBtdXN0
IG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgd2l0aCBibG9jaworbG9jYWwgZnVuY3Rpb24gZXhwcmVz
c3Npb25zIHNob3VsZCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIHdpdGggYmxvY2sKK2xvY2FsIHZh
cnMgbXVzdCBzaGFkb3cgb3V0ZXIgdmFycworbG9jYWwgZnVuY3Rpb25zIG11c3Qgc2hhZG93IG91
dGVyIGZ1bmN0aW9ucworbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIG11c3Qgc2hhZG93IG91
dGVyIGZ1bmN0aW9uIGV4cHJlc3Npb25zCitldmFsIHNob3VsZCB1c2UgdGhlIGFwcGVuZGVkIG9i
amVjdCB0byB0aGUgc2NvcGUgY2hhaW4KKyovCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTIuMTQtNCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjEyLzEyLjE0LzEy
LjE0LTQuanMiLAorCitkZXNjcmlwdGlvbjogImNhdGNoIGludHJvZHVjZXMgc2NvcGUgLSBibG9j
ay1sb2NhbCB2YXJzIG11c3Qgc2hhZG93IG91dGVyIHZhcnMiLAorCit0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsKKyAgdmFyIG8gPSB7IGZvbyA6IDQyfTsKKworICB0cnkgeworICAgIHRocm93
IG87CisgIH0KKyAgY2F0Y2ggKGUpIHsKKyAgICB2YXIgZm9vOworCisgICAgaWYgKGZvbyA9PT0g
dW5kZWZpbmVkKSB7CisgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgIH0KKyB9Cit9KTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xMi4xNC00LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEyLjE0LTUuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEy
LjE0LTUuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xNC01LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUyICsx
LDUyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0v
Ly8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQN
Ci0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0K
LS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8g
DQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gDQotDQotLyoNCi1sb2NhbCB2YXJzIG11c3Qgbm90IGJlIHZpc2libGUgb3V0c2lkZSB3
aXRoIGJsb2NrDQotbG9jYWwgZnVuY3Rpb25zIG11c3Qgbm90IGJlIHZpc2libGUgb3V0c2lkZSB3
aXRoIGJsb2NrDQotbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIHNob3VsZCBub3QgYmUgdmlz
aWJsZSBvdXRzaWRlIHdpdGggYmxvY2sNCi1sb2NhbCB2YXJzIG11c3Qgc2hhZG93IG91dGVyIHZh
cnMNCi1sb2NhbCBmdW5jdGlvbnMgbXVzdCBzaGFkb3cgb3V0ZXIgZnVuY3Rpb25zDQotbG9jYWwg
ZnVuY3Rpb24gZXhwcmVzc3Npb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9uIGV4cHJlc3Np
b25zDQotZXZhbCBzaG91bGQgdXNlIHRoZSBhcHBlbmRlZCBvYmplY3QgdG8gdGhlIHNjb3BlIGNo
YWluDQotKi8NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTIuMTQt
NSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTIvMTIuMTQvMTIuMTQtNS5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJjYXRjaCBpbnRyb2R1Y2VzIHNjb3BlIC0gYmxvY2stbG9jYWwgZnVu
Y3Rpb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9ucyIsDQotDQotdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7DQotICB2YXIgbyA9IHtmb286IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDQyO319
Ow0KLQ0KLSAgdHJ5IHsNCi0gICAgdGhyb3cgbzsNCi0gIH0NCi0gIGNhdGNoIChlKSB7DQotICAg
IGZ1bmN0aW9uIGZvbygpIHt9DQotICAgIGlmIChmb28oKSA9PT0gdW5kZWZpbmVkKSB7DQotICAg
ICAgcmV0dXJuIHRydWU7DQotICAgIH0NCi0gIH0NCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworLyoKK2xvY2FsIHZhcnMgbXVzdCBub3QgYmUgdmlz
aWJsZSBvdXRzaWRlIHdpdGggYmxvY2sKK2xvY2FsIGZ1bmN0aW9ucyBtdXN0IG5vdCBiZSB2aXNp
YmxlIG91dHNpZGUgd2l0aCBibG9jaworbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIHNob3Vs
ZCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIHdpdGggYmxvY2sKK2xvY2FsIHZhcnMgbXVzdCBzaGFk
b3cgb3V0ZXIgdmFycworbG9jYWwgZnVuY3Rpb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9u
cworbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9u
IGV4cHJlc3Npb25zCitldmFsIHNob3VsZCB1c2UgdGhlIGFwcGVuZGVkIG9iamVjdCB0byB0aGUg
c2NvcGUgY2hhaW4KKyovCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTIu
MTQtNSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjEyLzEyLjE0LzEyLjE0LTUuanMiLAor
CitkZXNjcmlwdGlvbjogImNhdGNoIGludHJvZHVjZXMgc2NvcGUgLSBibG9jay1sb2NhbCBmdW5j
dGlvbnMgbXVzdCBzaGFkb3cgb3V0ZXIgZnVuY3Rpb25zIiwKKwordGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7CisgIHZhciBvID0ge2ZvbzogZnVuY3Rpb24gKCkgeyByZXR1cm4gNDI7fX07CisK
KyAgdHJ5IHsKKyAgICB0aHJvdyBvOworICB9CisgIGNhdGNoIChlKSB7CisgICAgZnVuY3Rpb24g
Zm9vKCkge30KKyAgICBpZiAoZm9vKCkgPT09IHVuZGVmaW5lZCkgeworICAgICAgcmV0dXJuIHRy
dWU7CisgICAgfQorICB9CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMTQtNS5qcwpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xMi4xNC02LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xNC02LmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMTQtNi5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw1MiArMSw1MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLS8qDQotbG9jYWwgdmFycyBt
dXN0IG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgd2l0aCBibG9jaw0KLWxvY2FsIGZ1bmN0aW9ucyBt
dXN0IG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgd2l0aCBibG9jaw0KLWxvY2FsIGZ1bmN0aW9uIGV4
cHJlc3NzaW9ucyBzaG91bGQgbm90IGJlIHZpc2libGUgb3V0c2lkZSB3aXRoIGJsb2NrDQotbG9j
YWwgdmFycyBtdXN0IHNoYWRvdyBvdXRlciB2YXJzDQotbG9jYWwgZnVuY3Rpb25zIG11c3Qgc2hh
ZG93IG91dGVyIGZ1bmN0aW9ucw0KLWxvY2FsIGZ1bmN0aW9uIGV4cHJlc3NzaW9ucyBtdXN0IHNo
YWRvdyBvdXRlciBmdW5jdGlvbiBleHByZXNzaW9ucw0KLWV2YWwgc2hvdWxkIHVzZSB0aGUgYXBw
ZW5kZWQgb2JqZWN0IHRvIHRoZSBzY29wZSBjaGFpbg0KLSovDQotDQotDQotRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsNCi1pZDogIjEyLjE0LTYiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjEyLzEyLjE0LzEyLjE0LTYuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiY2F0Y2ggaW50cm9k
dWNlcyBzY29wZSAtIGJsb2NrLWxvY2FsIGZ1bmN0aW9uIGV4cHJlc3Npb24gbXVzdCBzaGFkb3cg
b3V0ZXIgZnVuY3Rpb24gZXhwcmVzc2lvbiIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotICB2YXIgbyA9IHtmb28gOiBmdW5jdGlvbiAoKSB7IHJldHVybiA0Mjt9fTsNCi0NCi0g
IHRyeSB7DQotICAgIHRocm93IG87DQotICB9DQotICBjYXRjaCAoZSkgew0KLSAgICB2YXIgZm9v
ID0gZnVuY3Rpb24gKCkge307DQotICAgIGlmIChmb28oKSA9PT0gdW5kZWZpbmVkKSB7DQotICAg
ICAgcmV0dXJuIHRydWU7DQotICAgIH0NCi0gIH0NCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworLyoKK2xvY2FsIHZhcnMgbXVzdCBub3QgYmUgdmlz
aWJsZSBvdXRzaWRlIHdpdGggYmxvY2sKK2xvY2FsIGZ1bmN0aW9ucyBtdXN0IG5vdCBiZSB2aXNp
YmxlIG91dHNpZGUgd2l0aCBibG9jaworbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIHNob3Vs
ZCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIHdpdGggYmxvY2sKK2xvY2FsIHZhcnMgbXVzdCBzaGFk
b3cgb3V0ZXIgdmFycworbG9jYWwgZnVuY3Rpb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9u
cworbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9u
IGV4cHJlc3Npb25zCitldmFsIHNob3VsZCB1c2UgdGhlIGFwcGVuZGVkIG9iamVjdCB0byB0aGUg
c2NvcGUgY2hhaW4KKyovCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTIu
MTQtNiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjEyLzEyLjE0LzEyLjE0LTYuanMiLAor
CitkZXNjcmlwdGlvbjogImNhdGNoIGludHJvZHVjZXMgc2NvcGUgLSBibG9jay1sb2NhbCBmdW5j
dGlvbiBleHByZXNzaW9uIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9uIGV4cHJlc3Npb24iLAor
Cit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIG8gPSB7Zm9vIDogZnVuY3Rpb24g
KCkgeyByZXR1cm4gNDI7fX07CisKKyAgdHJ5IHsKKyAgICB0aHJvdyBvOworICB9CisgIGNhdGNo
IChlKSB7CisgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHt9OworICAgIGlmIChmb28oKSA9PT0g
dW5kZWZpbmVkKSB7CisgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgIH0KKyB9Cit9KTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xMi4xNC02LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEyLjE0LTcuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEy
LjE0LTcuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xNC03LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU5ICsx
LDU5IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0v
Ly8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQN
Ci0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0K
LS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8g
DQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gDQotDQotLyoNCi1sb2NhbCB2YXJzIG11c3Qgbm90IGJlIHZpc2libGUgb3V0c2lkZSB3
aXRoIGJsb2NrDQotbG9jYWwgZnVuY3Rpb25zIG11c3Qgbm90IGJlIHZpc2libGUgb3V0c2lkZSB3
aXRoIGJsb2NrDQotbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIHNob3VsZCBub3QgYmUgdmlz
aWJsZSBvdXRzaWRlIHdpdGggYmxvY2sNCi1sb2NhbCB2YXJzIG11c3Qgc2hhZG93IG91dGVyIHZh
cnMNCi1sb2NhbCBmdW5jdGlvbnMgbXVzdCBzaGFkb3cgb3V0ZXIgZnVuY3Rpb25zDQotbG9jYWwg
ZnVuY3Rpb24gZXhwcmVzc3Npb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9uIGV4cHJlc3Np
b25zDQotZXZhbCBzaG91bGQgdXNlIHRoZSBhcHBlbmRlZCBvYmplY3QgdG8gdGhlIHNjb3BlIGNo
YWluDQotKi8NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTIuMTQt
NyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTIvMTIuMTQvMTIuMTQtNy5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJjYXRjaCBpbnRyb2R1Y2VzIHNjb3BlIC0gc2NvcGUgcmVtb3ZlZCB3
aGVuIGV4aXRpbmcgY2F0Y2ggYmxvY2siLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
ew0KLSAgdmFyIG8gPSB7Zm9vOiAxfTsNCi0NCi0gIHRyeSB7DQotICAgIHRocm93IG87DQotICB9
DQotICBjYXRjaCAoZSkgew0KLSAgICB2YXIgZiA9IGUuZm9vOw0KLSAgfQ0KLQ0KLSAgdHJ5IHsN
Ci0gICAgZm9vOw0KLSAgfQ0KLSAgY2F0Y2ggKGUpIHsNCi0gICAgLy8gYWN0dWFsbHksIHdlIG5l
ZWQgdG8gaGF2ZSB0aHJvd24gYSBSZWZlcmVuY2VFcnJvciBleGNlcHRpb24uDQotICAgIC8vIEhv
d2V2ZXIsIGluIEpTY3JpcHQgd2UgaGF2ZSB0aHJvd24gYSBUeXBlRXJyb3IgZXhjZXB0aW9uLg0K
LSAgICAvLyBCdXQgdGhhdCBpcyBhIHNlcGFyYXRlIHRlc3QuDQotICAgIHJldHVybiB0cnVlOw0K
LSAgfQ0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
CisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8g
CisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
CisvKgorbG9jYWwgdmFycyBtdXN0IG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgd2l0aCBibG9jawor
bG9jYWwgZnVuY3Rpb25zIG11c3Qgbm90IGJlIHZpc2libGUgb3V0c2lkZSB3aXRoIGJsb2NrCits
b2NhbCBmdW5jdGlvbiBleHByZXNzc2lvbnMgc2hvdWxkIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUg
d2l0aCBibG9jaworbG9jYWwgdmFycyBtdXN0IHNoYWRvdyBvdXRlciB2YXJzCitsb2NhbCBmdW5j
dGlvbnMgbXVzdCBzaGFkb3cgb3V0ZXIgZnVuY3Rpb25zCitsb2NhbCBmdW5jdGlvbiBleHByZXNz
c2lvbnMgbXVzdCBzaGFkb3cgb3V0ZXIgZnVuY3Rpb24gZXhwcmVzc2lvbnMKK2V2YWwgc2hvdWxk
IHVzZSB0aGUgYXBwZW5kZWQgb2JqZWN0IHRvIHRoZSBzY29wZSBjaGFpbgorKi8KKworCitFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxMi4xNC03IiwKKworcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTIvMTIuMTQvMTIuMTQtNy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiY2F0Y2ggaW50
cm9kdWNlcyBzY29wZSAtIHNjb3BlIHJlbW92ZWQgd2hlbiBleGl0aW5nIGNhdGNoIGJsb2NrIiwK
KwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBvID0ge2ZvbzogMX07CisKKyAg
dHJ5IHsKKyAgICB0aHJvdyBvOworICB9CisgIGNhdGNoIChlKSB7CisgICAgdmFyIGYgPSBlLmZv
bzsKKyAgfQorCisgIHRyeSB7CisgICAgZm9vOworICB9CisgIGNhdGNoIChlKSB7CisgICAgLy8g
YWN0dWFsbHksIHdlIG5lZWQgdG8gaGF2ZSB0aHJvd24gYSBSZWZlcmVuY2VFcnJvciBleGNlcHRp
b24uCisgICAgLy8gSG93ZXZlciwgaW4gSlNjcmlwdCB3ZSBoYXZlIHRocm93biBhIFR5cGVFcnJv
ciBleGNlcHRpb24uCisgICAgLy8gQnV0IHRoYXQgaXMgYSBzZXBhcmF0ZSB0ZXN0LgorICAgIHJl
dHVybiB0cnVlOworICB9CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMTQtNy5qcwpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xMi4xNC04LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xNC04LmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMTQtOC5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw1MyArMSw1MyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLS8qDQotbG9jYWwgdmFycyBt
dXN0IG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgd2l0aCBibG9jaw0KLWxvY2FsIGZ1bmN0aW9ucyBt
dXN0IG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgd2l0aCBibG9jaw0KLWxvY2FsIGZ1bmN0aW9uIGV4
cHJlc3NzaW9ucyBzaG91bGQgbm90IGJlIHZpc2libGUgb3V0c2lkZSB3aXRoIGJsb2NrDQotbG9j
YWwgdmFycyBtdXN0IHNoYWRvdyBvdXRlciB2YXJzDQotbG9jYWwgZnVuY3Rpb25zIG11c3Qgc2hh
ZG93IG91dGVyIGZ1bmN0aW9ucw0KLWxvY2FsIGZ1bmN0aW9uIGV4cHJlc3NzaW9ucyBtdXN0IHNo
YWRvdyBvdXRlciBmdW5jdGlvbiBleHByZXNzaW9ucw0KLWV2YWwgc2hvdWxkIHVzZSB0aGUgYXBw
ZW5kZWQgb2JqZWN0IHRvIHRoZSBzY29wZSBjaGFpbg0KLSovDQotDQotDQotRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsNCi1pZDogIjEyLjE0LTgiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjEyLzEyLjE0LzEyLjE0LTguanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiY2F0Y2ggaW50cm9k
dWNlcyBzY29wZSAtIHNjb3BlIHJlbW92ZWQgd2hlbiBleGl0aW5nIGNhdGNoIGJsb2NrIChwcm9w
ZXJ0aWVzKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgbyA9IHtm
b286IDQyfTsNCi0NCi0gIHRyeSB7DQotICAgIHRocm93IG87DQotICB9DQotICBjYXRjaCAoZSkg
ew0KLSAgICB2YXIgZm9vID0gMTsNCi0gIH0NCi0NCi0gIGlmIChvLmZvbyA9PT0gNDIpIHsNCi0g
ICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MK
Ky8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisKKy8qCitsb2NhbCB2YXJzIG11c3Qgbm90IGJlIHZpc2libGUgb3V0
c2lkZSB3aXRoIGJsb2NrCitsb2NhbCBmdW5jdGlvbnMgbXVzdCBub3QgYmUgdmlzaWJsZSBvdXRz
aWRlIHdpdGggYmxvY2sKK2xvY2FsIGZ1bmN0aW9uIGV4cHJlc3NzaW9ucyBzaG91bGQgbm90IGJl
IHZpc2libGUgb3V0c2lkZSB3aXRoIGJsb2NrCitsb2NhbCB2YXJzIG11c3Qgc2hhZG93IG91dGVy
IHZhcnMKK2xvY2FsIGZ1bmN0aW9ucyBtdXN0IHNoYWRvdyBvdXRlciBmdW5jdGlvbnMKK2xvY2Fs
IGZ1bmN0aW9uIGV4cHJlc3NzaW9ucyBtdXN0IHNoYWRvdyBvdXRlciBmdW5jdGlvbiBleHByZXNz
aW9ucworZXZhbCBzaG91bGQgdXNlIHRoZSBhcHBlbmRlZCBvYmplY3QgdG8gdGhlIHNjb3BlIGNo
YWluCisqLworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjEyLjE0LTgiLAor
CitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxMi8xMi4xNC8xMi4xNC04LmpzIiwKKworZGVzY3Jp
cHRpb246ICJjYXRjaCBpbnRyb2R1Y2VzIHNjb3BlIC0gc2NvcGUgcmVtb3ZlZCB3aGVuIGV4aXRp
bmcgY2F0Y2ggYmxvY2sgKHByb3BlcnRpZXMpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7CisgIHZhciBvID0ge2ZvbzogNDJ9OworCisgIHRyeSB7CisgICAgdGhyb3cgbzsKKyAgfQor
ICBjYXRjaCAoZSkgeworICAgIHZhciBmb28gPSAxOworICB9CisKKyAgaWYgKG8uZm9vID09PSA0
MikgeworICAgIHJldHVybiB0cnVlOworICB9CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMTQtOC5q
cwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xNC05LmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4xNC05LmpzCShyZXZpc2lv
biAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTIuMTQtOS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0OSArMSw0OSBAQAotLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
DQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0v
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxMi4xNC05IiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxMi8xMi4xNC8xMi4xNC05LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogImNh
dGNoIGludHJvZHVjZXMgc2NvcGUgLSBuYW1lIGxvb2t1cCBmaW5kcyBvdXRlciB2YXJpYWJsZSIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBmdW5jdGlvbiBmKG8pIHsNCi0g
ICAgdmFyIHggPSA0MjsNCi0NCi0gICAgZnVuY3Rpb24gaW5uZXJmKG8pIHsNCi0gICAgICB0cnkg
ew0KLSAgICAgICAgdGhyb3cgbzsNCi0gICAgICB9DQotICAgICAgY2F0Y2ggKGUpIHsNCi0gICAg
ICAgIHJldHVybiB4Ow0KLSAgICAgIH0NCi0gICAgfQ0KLQ0KLSAgICByZXR1cm4gaW5uZXJmKG8p
Ow0KLSAgfQ0KLSAgDQotICBpZiAoZih7fSkgPT09IDQyKSB7DQotICAgIHJldHVybiB0cnVlOw0K
LSAgfQ0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
CisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8g
CisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjEyLjE0LTkiLAorCitwYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxMi8xMi4xNC8xMi4xNC05LmpzIiwKKworZGVzY3JpcHRpb246ICJj
YXRjaCBpbnRyb2R1Y2VzIHNjb3BlIC0gbmFtZSBsb29rdXAgZmluZHMgb3V0ZXIgdmFyaWFibGUi
LAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgZnVuY3Rpb24gZihvKSB7CisgICAg
dmFyIHggPSA0MjsKKworICAgIGZ1bmN0aW9uIGlubmVyZihvKSB7CisgICAgICB0cnkgeworICAg
ICAgICB0aHJvdyBvOworICAgICAgfQorICAgICAgY2F0Y2ggKGUpIHsKKyAgICAgICAgcmV0dXJu
IHg7CisgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIGlubmVyZihvKTsKKyAgfQorICAKKyAg
aWYgKGYoe30pID09PSA0MikgeworICAgIHJldHVybiB0cnVlOworICB9CisgfQorfSk7CgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTIuMTQtOS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAg
KzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xMi4yLjEtMTEuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzEy
LjIuMS0xMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzEyLjIuMS0xMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwz
MyArMSwzMyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
DQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQot
Ly8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxMi4y
LjEtMTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjEyLzEyLjIvMTIuMi4xLzEyLjIu
MS0xMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJhcmd1bWVudHMgYXMgdmFyIGlkZW50aWZpZXIg
aW4gZXZhbCBjb2RlIGlzIGFsbG93ZWQiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
ew0KLSAgICBldmFsKCJ2YXIgYXJndW1lbnRzOyIpOw0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gfQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxMi4yLjEtMTEiLAorCitwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxMi8xMi4yLzEyLjIuMS8xMi4yLjEtMTEuanMiLAorCitkZXNjcmlwdGlvbjogImFy
Z3VtZW50cyBhcyB2YXIgaWRlbnRpZmllciBpbiBldmFsIGNvZGUgaXMgYWxsb3dlZCIsCisKK3Rl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgIGV2YWwoInZhciBhcmd1bWVudHM7Iik7Cisg
ICAgcmV0dXJuIHRydWU7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMi4xLTExLmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzEyLjIuMS0xMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMi4xLTEyLmpzCShyZXZpc2lvbiAxOTk1
NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTIu
Mi4xLTEyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMzICsxLDMzIEBACi0vLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0v
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjEyLjIuMS0xMiIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTEyLmpzIiwNCi0NCi1kZXNjcmlwdGlv
bjogImFyZ3VtZW50cyBhcyBsb2NhbCB2YXIgaWRlbnRpZmllciBpcyBhbGxvd2VkIiwNCi0NCi10
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gICAgZXZhbCgiKGZ1bmN0aW9uICgpe3ZhciBh
cmd1bWVudHM7fSkiKTsNCi0gICAgcmV0dXJuIHRydWU7DQotIH0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTIuMi4xLTEyIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTIvMTIuMi8x
Mi4yLjEvMTIuMi4xLTEyLmpzIiwKKworZGVzY3JpcHRpb246ICJhcmd1bWVudHMgYXMgbG9jYWwg
dmFyIGlkZW50aWZpZXIgaXMgYWxsb3dlZCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
eworICAgIGV2YWwoIihmdW5jdGlvbiAoKXt2YXIgYXJndW1lbnRzO30pIik7CisgICAgcmV0dXJu
IHRydWU7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTIuMi4xLTEyLmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjEwLjYuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjEwLjYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMC42LmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDM1ICsxLDM1IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQot
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsNCi1pZDogIjE1LjEwLjYiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjEwLzE1LjEwLjYvMTUuMTAuNi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJSZWdFeHAucHJvdG90
eXBlIGlzIG5vdCBhIFJlZ0V4cCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQot
ICB2YXIgcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChSZWdFeHAucHJvdG90eXBl
KTsNCi0gIGlmIChzID09PSAnW29iamVjdCBPYmplY3RdJykgew0KLSAgICByZXR1cm4gdHJ1ZTsN
Ci0gIH0NCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8v
IAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4xMC42IiwKKworcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LmpzIiwKKworZGVzY3Jp
cHRpb246ICJSZWdFeHAucHJvdG90eXBlIGlzIG5vdCBhIFJlZ0V4cCIsCisKK3Rlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgeworICB2YXIgcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2Fs
bChSZWdFeHAucHJvdG90eXBlKTsKKyAgaWYgKHMgPT09ICdbb2JqZWN0IE9iamVjdF0nKSB7Cisg
ICAgcmV0dXJuIHRydWU7CisgIH0KKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMC42LmpzCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjEwLjcuMS0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMC43LjEtMS5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjEwLjcuMS0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMyICsxLDMyIEBACi0vLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
Rg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEwLjcuMS0xIiwNCi0NCi1w
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMC8xNS4xMC43LzE1LjEwLjcuMS8xNS4xMC43
LjEtMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJSZWdFeHAucHJvdG90eXBlLnNvdXJjZSBzaG91
bGQgYmUgJyg/OiknIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gICAgcmV0
dXJuIFJlZ0V4cC5wcm90b3R5cGUuc291cmNlID09PSAnKD86KSc7DQotIH0NCi19KTsNCisvLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsKK2lkOiAiMTUuMTAuNy4xLTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS4xMC8xNS4xMC43LzE1LjEwLjcuMS8xNS4xMC43LjEtMS5qcyIsCisKK2Rlc2NyaXB0aW9u
OiAiUmVnRXhwLnByb3RvdHlwZS5zb3VyY2Ugc2hvdWxkIGJlICcoPzopJyIsCisKK3Rlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgeworICAgIHJldHVybiBSZWdFeHAucHJvdG90eXBlLnNvdXJjZSA9
PT0gJyg/OiknOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEwLjcuMS0xLmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjEwLjcuMi0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMC43LjItMS5qcwkocmV2aXNpb24gMTk5
NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjEwLjcuMi0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM0ICsxLDM0IEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEwLjcuMi0xIiwNCi0NCi1wYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMC8xNS4xMC43LzE1LjEwLjcuMi8xNS4xMC43LjItMS5q
cyIsDQotDQotZGVzY3JpcHRpb246ICJSZWdFeHAucHJvdG90eXBlLmdsb2JhbCBzaG91bGQgdGhy
b3cgYmVjYXVzZSBSZWdFeHAucHJvdG90eXBlIGlzIG5vdCBhIFJlZ0V4cCIsDQotDQotdGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICAgIGlmICgodHlwZW9mKFJlZ0V4cC5wcm90b3R5cGUu
Z2xvYmFsKSkgPT09ICd1bmRlZmluZWQnKQ0KLSAgICAgICAgcmV0dXJuIHRydWU7DQotICAgIHJl
dHVybiBmYWxzZTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4xMC43LjItMSIs
CisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy4yLzE1
LjEwLjcuMi0xLmpzIiwKKworZGVzY3JpcHRpb246ICJSZWdFeHAucHJvdG90eXBlLmdsb2JhbCBz
aG91bGQgdGhyb3cgYmVjYXVzZSBSZWdFeHAucHJvdG90eXBlIGlzIG5vdCBhIFJlZ0V4cCIsCisK
K3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgIGlmICgodHlwZW9mKFJlZ0V4cC5wcm90
b3R5cGUuZ2xvYmFsKSkgPT09ICd1bmRlZmluZWQnKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICByZXR1cm4gZmFsc2U7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTAuNy4yLTEuanMKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMTAuNy4zLTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEwLjcuMy0xLmpzCShyZXZpc2lv
biAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMTAuNy4zLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzQgKzEsMzQgQEAKLS8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
DQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0N
Ci1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMTAuNy4zLTEiLA0KLQ0KLXBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy4zLzE1LjEwLjcu
My0xLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIlJlZ0V4cC5wcm90b3R5cGUuaWdub3JlQ2FzZSBz
aG91bGQgdGhyb3cgYmVjYXVzZSBSZWdFeHAucHJvdG90eXBlIGlzIG5vdCBhIFJlZ0V4cCIsDQot
DQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICAgIGlmICgodHlwZW9mKFJlZ0V4cC5w
cm90b3R5cGUuaWdub3JlQ2FzZSkpID09PSAndW5kZWZpbmVkJykNCi0gICAgICAgIHJldHVybiB0
cnVlOw0KLSAgICByZXR1cm4gZmFsc2U7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAi
MTUuMTAuNy4zLTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMC8xNS4xMC43
LzE1LjEwLjcuMy8xNS4xMC43LjMtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiUmVnRXhwLnByb3Rv
dHlwZS5pZ25vcmVDYXNlIHNob3VsZCB0aHJvdyBiZWNhdXNlIFJlZ0V4cC5wcm90b3R5cGUgaXMg
bm90IGEgUmVnRXhwIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgICAgaWYgKCh0
eXBlb2YoUmVnRXhwLnByb3RvdHlwZS5pZ25vcmVDYXNlKSkgPT09ICd1bmRlZmluZWQnKQorICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gZmFsc2U7CisgfQorfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMTAuNy4zLTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsx
ICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTAuNy40LTEuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjEwLjcuNC0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTAuNy40LTEuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsMzQgKzEsMzQgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
Lg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAi
MTUuMTAuNy40LTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEwLzE1LjEw
LjcvMTUuMTAuNy40LzE1LjEwLjcuNC0xLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIlJlZ0V4cC5w
cm90b3R5cGUubXVsdGlsaW5lIHNob3VsZCB0aHJvdyBiZWNhdXNlIFJlZ0V4cC5wcm90b3R5cGUg
aXMgbm90IGEgUmVnRXhwIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gICAg
aWYgKCh0eXBlb2YoUmVnRXhwLnByb3RvdHlwZS5tdWx0aWxpbmUpKSA9PT0gJ3VuZGVmaW5lZCcp
DQotICAgICAgICByZXR1cm4gdHJ1ZTsNCi0gICAgcmV0dXJuIGZhbHNlOw0KLSB9DQotfSk7DQor
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7CitpZDogIjE1LjEwLjcuNC0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjQvMTUuMTAuNy40LTEuanMiLAorCitkZXNjcmlw
dGlvbjogIlJlZ0V4cC5wcm90b3R5cGUubXVsdGlsaW5lIHNob3VsZCB0aHJvdyBiZWNhdXNlIFJl
Z0V4cC5wcm90b3R5cGUgaXMgbm90IGEgUmVnRXhwIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7CisgICAgaWYgKCh0eXBlb2YoUmVnRXhwLnByb3RvdHlwZS5tdWx0aWxpbmUpKSA9PT0g
J3VuZGVmaW5lZCcpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBmYWxzZTsKKyB9
Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4xMC43LjQtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4x
MC43LjUtMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMTAuNy41LTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMC43LjUtMS5qcwko
d29ya2luZyBjb3B5KQpAQCAtMSwzMyArMSwzMyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7DQotaWQ6ICIxNS4xMC43LjUtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjUvMTUuMTAuNy41LTEuanMiLA0KLQ0KLWRlc2Ny
aXB0aW9uOiAiUmVnRXhwLnByb3RvdHlwZS5sYXN0SW5kZXggaXMgdW5kZWZpbmVkIGJlY2F1c2Ug
UmVnRXhwLnByb3RvdHlwZSBpcyBub3QgYSBSZWdFeHAiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgew0KLSAgaWYoKHR5cGVvZihSZWdFeHAucHJvdG90eXBlLmxhc3RJbmRleCkpID09
PSAndW5kZWZpbmVkJykNCi0gICAgcmV0dXJuIHRydWU7DQotIH0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTUuMTAuNy41LTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4x
MC8xNS4xMC43LzE1LjEwLjcuNS8xNS4xMC43LjUtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiUmVn
RXhwLnByb3RvdHlwZS5sYXN0SW5kZXggaXMgdW5kZWZpbmVkIGJlY2F1c2UgUmVnRXhwLnByb3Rv
dHlwZSBpcyBub3QgYSBSZWdFeHAiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAg
aWYoKHR5cGVvZihSZWdFeHAucHJvdG90eXBlLmxhc3RJbmRleCkpID09PSAndW5kZWZpbmVkJykK
KyAgICByZXR1cm4gdHJ1ZTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMC43LjUtMS5qcwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi0wLTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLTAtMS5qcwkocmV2aXNpb24g
MTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjEyLTAtMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NSArMSw0NSBAQAotLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
DQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0v
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLS8qDQot
VGhpcyB0ZXN0IHNob3VsZCBiZSBydW4gd2l0aG91dCBhbnkgYnVpbHQtaW5zIGJlaW5nIGFkZGVk
L2F1Z21lbnRlZC4NCi1UaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0Lg0K
LTQuMiBjYWxscyBvdXQgSlNPTiBhcyBvbmUgb2YgdGhlIGJ1aWx0LWluIG9iamVjdHMuDQotKi8N
Ci0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMTItMC0xIiwNCi0N
Ci1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi0wLTEuanMiLA0KLQ0KLWRl
c2NyaXB0aW9uOiAiSlNPTiBtdXN0IGJlIGEgYnVpbHQtaW4gb2JqZWN0IiwNCi0NCi10ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBvID0gSlNPTjsNCi0gIGlmICh0eXBlb2Yobykg
PT09ICJvYmplY3QiKSB7ICANCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotIHBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7DQotICByZXR1cm4gSlNPTiAhPT0gdW5kZWZp
bmVkOw0KLSAgfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8v
IAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KworLyoKK1RoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWlu
ZyBhZGRlZC9hdWdtZW50ZWQuCitUaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2Jq
ZWN0LgorNC4yIGNhbGxzIG91dCBKU09OIGFzIG9uZSBvZiB0aGUgYnVpbHQtaW4gb2JqZWN0cy4K
KyovCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMTItMC0xIiwKKwor
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTItMC0xLmpzIiwKKworZGVzY3Jp
cHRpb246ICJKU09OIG11c3QgYmUgYSBidWlsdC1pbiBvYmplY3QiLAorCit0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsKKyAgdmFyIG8gPSBKU09OOworICBpZiAodHlwZW9mKG8pID09PSAib2Jq
ZWN0IikgeyAgCisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCisgcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVxICgpIHsKKyAgcmV0dXJuIEpTT04gIT09IHVuZGVmaW5lZDsKKyAgfQorfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMTItMC0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLTAtMi5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMTItMC0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTItMC0yLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDUxICsxLDUxIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IN
Ci0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0v
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gDQotDQotLyoNCi1UaGlzIHRlc3Qgc2hvdWxkIGJlIHJ1biB3aXRo
b3V0IGFueSBidWlsdC1pbnMgYmVpbmcgYWRkZWQvYXVnbWVudGVkLg0KLVRoZSBuYW1lIEpTT04g
bXVzdCBiZSBib3VuZCB0byBhbiBvYmplY3QsIGFuZCBtdXN0IG5vdCBzdXBwb3J0IFtbQ29uc3Ry
dWN0XV0uDQotc3RlcCA0IGluIDExLjIuMiBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0
aW9uLg0KLSovDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEy
LTAtMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTItMC0yLmpz
IiwNCi0NCi1kZXNjcmlwdGlvbjogIkpTT04gbXVzdCBub3Qgc3VwcG9ydCB0aGUgW1tDb25zdHJ1
Y3RdXSBtZXRob2QiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIG8g
PSBKU09OOw0KLQ0KLSAgdHJ5IHsNCi0gICAgdmFyIGogPSBuZXcgSlNPTigpOw0KLSAgfQ0KLSAg
Y2F0Y2ggKGUpIHsNCi0gICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCi0gICAgICBy
ZXR1cm4gdHJ1ZTsNCi0gICAgfQ0KLSAgfQ0KLSB9LA0KLQ0KLSBwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXEgKCkgew0KLSAgcmV0dXJuIEpTT04gIT09IHVuZGVmaW5lZDsNCi0gIH0NCi19KTsN
CisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKy8qCitUaGlzIHRlc3Qg
c2hvdWxkIGJlIHJ1biB3aXRob3V0IGFueSBidWlsdC1pbnMgYmVpbmcgYWRkZWQvYXVnbWVudGVk
LgorVGhlIG5hbWUgSlNPTiBtdXN0IGJlIGJvdW5kIHRvIGFuIG9iamVjdCwgYW5kIG11c3Qgbm90
IHN1cHBvcnQgW1tDb25zdHJ1Y3RdXS4KK3N0ZXAgNCBpbiAxMS4yLjIgc2hvdWxkIHRocm93IGEg
VHlwZUVycm9yIGV4Y2VwdGlvbi4KKyovCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsK
K2lkOiAiMTUuMTItMC0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUu
MTItMC0yLmpzIiwKKworZGVzY3JpcHRpb246ICJKU09OIG11c3Qgbm90IHN1cHBvcnQgdGhlIFtb
Q29uc3RydWN0XV0gbWV0aG9kIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZh
ciBvID0gSlNPTjsKKworICB0cnkgeworICAgIHZhciBqID0gbmV3IEpTT04oKTsKKyAgfQorICBj
YXRjaCAoZSkgeworICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7CisgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICB9CisgIH0KKyB9LAorCisgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVx
ICgpIHsKKyAgcmV0dXJuIEpTT04gIT09IHVuZGVmaW5lZDsKKyAgfQorfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMTItMC0yLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAj
IworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLTAtMy5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIt
MC0zLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTItMC0zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUxICsx
LDUxIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0v
Ly8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQN
Ci0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0K
LS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8g
DQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gDQotDQotLyoNCi1UaGlzIHRlc3Qgc2hvdWxkIGJlIHJ1biB3aXRob3V0IGFueSBidWls
dC1pbnMgYmVpbmcgYWRkZWQvYXVnbWVudGVkLg0KLVRoZSBuYW1lIEpTT04gbXVzdCBiZSBib3Vu
ZCB0byBhbiBvYmplY3QsIGFuZCBtdXN0IG5vdCBzdXBwb3J0IFtbQ2FsbF1dLg0KLXN0ZXAgNSBp
biAxMS4yLjMgc2hvdWxkIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4NCi0qLw0KLQ0KLQ0K
LUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4xMi0wLTMiLA0KLQ0KLXBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLTAtMy5qcyIsDQotDQotZGVzY3JpcHRp
b246ICJKU09OIG11c3Qgbm90IHN1cHBvcnQgdGhlIFtbQ2FsbF1dIG1ldGhvZCIsDQotDQotdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgbyA9IEpTT047DQotDQotICB0cnkgew0K
LSAgICB2YXIgaiA9IEpTT04oKTsNCi0gIH0NCi0gIGNhdGNoIChlKSB7DQotICAgIGlmIChlIGlu
c3RhbmNlb2YgVHlwZUVycm9yKSB7DQotICAgICAgcmV0dXJuIHRydWU7DQotICAgIH0NCi0gIH0N
Ci0gfSwNCi0NCi0gcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsNCi0gIHJldHVybiBK
U09OICE9PSB1bmRlZmluZWQ7DQotICB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisv
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorCisvKgorVGhpcyB0ZXN0IHNob3VsZCBiZSBydW4gd2l0aG91dCBhbnkg
YnVpbHQtaW5zIGJlaW5nIGFkZGVkL2F1Z21lbnRlZC4KK1RoZSBuYW1lIEpTT04gbXVzdCBiZSBi
b3VuZCB0byBhbiBvYmplY3QsIGFuZCBtdXN0IG5vdCBzdXBwb3J0IFtbQ2FsbF1dLgorc3RlcCA1
IGluIDExLjIuMyBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorKi8KKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4xMi0wLTMiLAorCitwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi0wLTMuanMiLAorCitkZXNjcmlwdGlvbjogIkpT
T04gbXVzdCBub3Qgc3VwcG9ydCB0aGUgW1tDYWxsXV0gbWV0aG9kIiwKKwordGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7CisgIHZhciBvID0gSlNPTjsKKworICB0cnkgeworICAgIHZhciBqID0g
SlNPTigpOworICB9CisgIGNhdGNoIChlKSB7CisgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJy
b3IpIHsKKyAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgfQorIH0sCisKKyBwcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXEgKCkgeworICByZXR1cm4gSlNPTiAhPT0gdW5kZWZpbmVkOworICB9
Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi0wLTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1z
dHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIt
MC00LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4xMi0wLTQuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi0wLTQuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNTIgKzEsNTIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
Uw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0K
LS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0vKg0KLVRoaXMgdGVzdCBzaG91bGQgYmUgcnVu
IHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQotVGhlIGxhc3Qg
cGFyYWdyYXBoIGluIHNlY3Rpb24gMTUgc2F5cyAiZXZlcnkgb3RoZXIgcHJvcGVydHkgZGVzY3Jp
YmVkDQotaW4gdGhpcyBzZWN0aW9uIGhhcyB0aGUgYXR0cmlidXRlIHsuLi4gW1tFbnVtZXJhYmxl
XV0gOiBmYWxzZSAuLi59DQotdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQuIFRoaXMgZGVmYXVs
dCBhcHBsaWVzIHRvIHRoZSBwcm9wZXJ0aWVzIG9uDQotSlNPTiwgYW5kIHdlIHNob3VsZCBub3Qg
YmUgYWJsZSB0byBlbnVtZXJhdGUgdGhlbS4NCi0qLw0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7DQotaWQ6ICIxNS4xMi0wLTQiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjEyLzE1LjEyLTAtNC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJKU09OIG9iamVjdCdz
IHByb3BlcnRpZXMgbXVzdCBiZSBub24gZW51bWVyYWJsZSIsDQotDQotdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7IA0KLSAgdmFyIG8gPSBKU09OOw0KLSAgdmFyIGkgPSAwOw0KLSAgZm9yICh2
YXIgcCBpbiBvKSB7DQotICAgIGkrKzsNCi0gIH0NCi0gICAgDQotICBpZiAoaSA9PT0gMCkgew0K
LSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSAsDQotDQotIHByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcSAoKSB7DQotICByZXR1cm4gSlNPTiAhPT0gdW5kZWZpbmVkOw0KLSAgfQ0KLX0pOw0K
Ky8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworLyoKK1RoaXMgdGVzdCBz
aG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQu
CitUaGUgbGFzdCBwYXJhZ3JhcGggaW4gc2VjdGlvbiAxNSBzYXlzICJldmVyeSBvdGhlciBwcm9w
ZXJ0eSBkZXNjcmliZWQKK2luIHRoaXMgc2VjdGlvbiBoYXMgdGhlIGF0dHJpYnV0ZSB7Li4uIFtb
RW51bWVyYWJsZV1dIDogZmFsc2UgLi4ufQordW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQuIFRo
aXMgZGVmYXVsdCBhcHBsaWVzIHRvIHRoZSBwcm9wZXJ0aWVzIG9uCitKU09OLCBhbmQgd2Ugc2hv
dWxkIG5vdCBiZSBhYmxlIHRvIGVudW1lcmF0ZSB0aGVtLgorKi8KKworCitFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggeworaWQ6ICIxNS4xMi0wLTQiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS4xMi8xNS4xMi0wLTQuanMiLAorCitkZXNjcmlwdGlvbjogIkpTT04gb2JqZWN0J3Mg
cHJvcGVydGllcyBtdXN0IGJlIG5vbiBlbnVtZXJhYmxlIiwKKwordGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7IAorICB2YXIgbyA9IEpTT047CisgIHZhciBpID0gMDsKKyAgZm9yICh2YXIgcCBp
biBvKSB7CisgICAgaSsrOworICB9CisgICAgCisgIGlmIChpID09PSAwKSB7CisgICAgcmV0dXJu
IHRydWU7CisgIH0KKyB9ICwKKworIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7Cisg
IHJldHVybiBKU09OICE9PSB1bmRlZmluZWQ7CisgIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLTAt
NC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtMC0xLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEt
MC0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMS4xLTAtMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0
MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
DQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQot
Ly8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4x
Mi4xLjEtMC0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4x
LzI1LjEyLjEuMS8xNS4xMi4xLjEtMC0xLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIlRoZSBKU09O
IGxleGljYWwgZ3JhbW1lciB0cmVhdHMgd2hpdGVzcGFjZSBhcyBhIHRva2VuIHNlcGVyYXRvciIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICANCi0gIHRyeSB7DQotICAgIEpT
T04ucGFyc2UoJzEyXHRcclxuIDM0Jyk7IC8vIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9y
IGFzIHdoaXRlc3BhY2UgcmVzdWx0cyBpbiB0d28gdG9rZW5zDQotICAgIH0NCi0gIGNhdGNoIChl
KSB7DQotICAgICAgaWYgKGUubmFtZSA9PT0gJ1N5bnRheEVycm9yJykgcmV0dXJuIHRydWU7DQot
ICAgICAgfQ0KLSAgfSwNCi0gIA0KLSBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEgKCkgew0K
LSAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNPTi5wYXJzZSkgJiYgSlNPTi5wYXJzZSgnMTIz
NCcpPT09MTIzNDsNCi0gfQ0KLX0gKTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMTIuMS4xLTAt
MSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjEvMjUuMTIuMS4x
LzE1LjEyLjEuMS0wLTEuanMiLAorCitkZXNjcmlwdGlvbjogIlRoZSBKU09OIGxleGljYWwgZ3Jh
bW1lciB0cmVhdHMgd2hpdGVzcGFjZSBhcyBhIHRva2VuIHNlcGVyYXRvciIsCisKK3Rlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgeworICAKKyAgdHJ5IHsKKyAgICBKU09OLnBhcnNlKCcxMlx0XHJc
biAzNCcpOyAvLyBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvciBhcyB3aGl0ZXNwYWNlIHJl
c3VsdHMgaW4gdHdvIHRva2VucworICAgIH0KKyAgY2F0Y2ggKGUpIHsKKyAgICAgIGlmIChlLm5h
bWUgPT09ICdTeW50YXhFcnJvcicpIHJldHVybiB0cnVlOworICAgICAgfQorICB9LAorICAKKyBw
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEgKCkgeworICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0
cyhKU09OLnBhcnNlKSAmJiBKU09OLnBhcnNlKCcxMjM0Jyk9PT0xMjM0OworIH0KK30gKTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4xMi4xLjEtMC0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS0w
LTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjEyLjEuMS0wLTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtMC0yLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
DQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsNCi1pZDogIjE1LjEyLjEuMS0wLTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjEyLzE1LjEyLjEvMjUuMTIuMS4xLzE1LjEyLjEuMS0wLTIuanMiLA0KLQ0KLWRl
c2NyaXB0aW9uOiAiPFZUPiBpcyBub3QgdmFsaWQgSlNPTiB3aGl0ZXNwYWNlIGFzIHNwZWNpZmll
ZCBieSB0aGUgcHJvZHVjdGlvbiBKU09OV2hpdGVzcGFjZS4iLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgew0KLSAgDQotICB0cnkgew0KLSAgICBKU09OLnBhcnNlKCdcdTAwMGIxMjM0
Jyk7IC8vIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIA0KLSAgICB9DQotICBjYXRjaCAo
ZSkgew0KLSAgICAgIHJldHVybiB0cnVlOyAvLyB0cmVhdCBhbnkgZXhjZXB0aW9uIGFzIGEgcGFz
cywgb3RoZXIgdGVzdHMgZW5zdXJlIHRoYXQgSlNPTi5wYXJzZSB0aHJvd3MgU3ludGF4RXJyb3Ig
ZXhjZXB0aW9ucw0KLSAgICAgIH0NCi0gIH0sDQotICANCi0gcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVxICgpIHsNCi0gIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04ucGFyc2UpICYmIEpT
T04ucGFyc2UoJyAxMjM0Jyk9PT0xMjM0Ow0KLSB9DQotfSApOw0KKy8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6
ICIxNS4xMi4xLjEtMC0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUu
MTIuMS8yNS4xMi4xLjEvMTUuMTIuMS4xLTAtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiPFZUPiBp
cyBub3QgdmFsaWQgSlNPTiB3aGl0ZXNwYWNlIGFzIHNwZWNpZmllZCBieSB0aGUgcHJvZHVjdGlv
biBKU09OV2hpdGVzcGFjZS4iLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgCisg
IHRyeSB7CisgICAgSlNPTi5wYXJzZSgnXHUwMDBiMTIzNCcpOyAvLyBzaG91bGQgcHJvZHVjZSBh
IHN5bnRheCBlcnJvciAKKyAgICB9CisgIGNhdGNoIChlKSB7CisgICAgICByZXR1cm4gdHJ1ZTsg
Ly8gdHJlYXQgYW55IGV4Y2VwdGlvbiBhcyBhIHBhc3MsIG90aGVyIHRlc3RzIGVuc3VyZSB0aGF0
IEpTT04ucGFyc2UgdGhyb3dzIFN5bnRheEVycm9yIGV4Y2VwdGlvbnMKKyAgICAgIH0KKyAgfSwK
KyAgCisgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsKKyAgcmV0dXJuIEpTT04gJiYg
Zm5FeGlzdHMoSlNPTi5wYXJzZSkgJiYgSlNPTi5wYXJzZSgnIDEyMzQnKT09PTEyMzQ7CisgfQor
fSApOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS0wLTIuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
MTIuMS4xLTAtMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMS4xLTAtMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS0w
LTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMTIuMS4xLTAtMyIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMS8yNS4xMi4xLjEvMTUuMTIuMS4xLTAtMy5qcyIs
DQotDQotZGVzY3JpcHRpb246ICI8RkY+IGlzIG5vdCB2YWxpZCBKU09OIHdoaXRlc3BhY2UgYXMg
c3BlY2lmaWVkIGJ5IHRoZSBwcm9kdWN0aW9uIEpTT05XaGl0ZXNwYWNlLiIsDQotDQotdGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICANCi0gIHRyeSB7DQotICAgIEpTT04ucGFyc2UoJ1x1
MDAwYzEyMzQnKTsgLy8gc2hvdWxkIHByb2R1Y2UgYSBzeW50YXggZXJyb3IgDQotICAgIH0NCi0g
IGNhdGNoIChlKSB7DQotICAgICAgcmV0dXJuIHRydWU7IC8vIHRyZWF0IGFueSBleGNlcHRpb24g
YXMgYSBwYXNzLCBvdGhlciB0ZXN0cyBlbnN1cmUgdGhhdCBKU09OLnBhcnNlIHRocm93cyBTeW50
YXhFcnJvciBleGNlcHRpb25zDQotICAgICAgfQ0KLSAgfSwNCi0gIA0KLSBwcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXEgKCkgew0KLSAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNPTi5wYXJz
ZSkgJiYgSlNPTi5wYXJzZSgnIDEyMzQnKT09PTEyMzQ7DQotIH0NCi19ICk7DQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7CitpZDogIjE1LjEyLjEuMS0wLTMiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS4xMi8xNS4xMi4xLzI1LjEyLjEuMS8xNS4xMi4xLjEtMC0zLmpzIiwKKworZGVzY3JpcHRpb246
ICI8RkY+IGlzIG5vdCB2YWxpZCBKU09OIHdoaXRlc3BhY2UgYXMgc3BlY2lmaWVkIGJ5IHRoZSBw
cm9kdWN0aW9uIEpTT05XaGl0ZXNwYWNlLiIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
eworICAKKyAgdHJ5IHsKKyAgICBKU09OLnBhcnNlKCdcdTAwMGMxMjM0Jyk7IC8vIHNob3VsZCBw
cm9kdWNlIGEgc3ludGF4IGVycm9yIAorICAgIH0KKyAgY2F0Y2ggKGUpIHsKKyAgICAgIHJldHVy
biB0cnVlOyAvLyB0cmVhdCBhbnkgZXhjZXB0aW9uIGFzIGEgcGFzcywgb3RoZXIgdGVzdHMgZW5z
dXJlIHRoYXQgSlNPTi5wYXJzZSB0aHJvd3MgU3ludGF4RXJyb3IgZXhjZXB0aW9ucworICAgICAg
fQorICB9LAorICAKKyBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEgKCkgeworICByZXR1cm4g
SlNPTiAmJiBmbkV4aXN0cyhKU09OLnBhcnNlKSAmJiBKU09OLnBhcnNlKCcgMTIzNCcpPT09MTIz
NDsKKyB9Cit9ICk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMS4xLTAtMy5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4xMi4xLjEtMC00LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtMC00LmpzCShyZXZpc2lvbiAxOTk1
NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
MTIuMS4xLTAtNC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
DQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0v
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4xMi4xLjEtMC00IiwNCi0NCi1wYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4xLzI1LjEyLjEuMS8xNS4xMi4xLjEt
MC00LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIjxOQlNQPiBpcyBub3QgdmFsaWQgSlNPTiB3aGl0
ZXNwYWNlIGFzIHNwZWNpZmllZCBieSB0aGUgcHJvZHVjdGlvbiBKU09OV2hpdGVzcGFjZS4iLA0K
LQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgDQotICB0cnkgew0KLSAgICBKU09O
LnBhcnNlKCdcdTAwYTAxMjM0Jyk7IC8vIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIA0K
LSAgICB9DQotICBjYXRjaCAoZSkgew0KLSAgICAgIHJldHVybiB0cnVlOyAvLyB0cmVhdCBhbnkg
ZXhjZXB0aW9uIGFzIGEgcGFzcywgb3RoZXIgdGVzdHMgZW5zdXJlIHRoYXQgSlNPTi5wYXJzZSB0
aHJvd3MgU3ludGF4RXJyb3IgZXhjZXB0aW9ucw0KLSAgICAgIH0NCi0gIH0sDQotICANCi0gcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsNCi0gIHJldHVybiBKU09OICYmIGZuRXhpc3Rz
KEpTT04ucGFyc2UpICYmIEpTT04ucGFyc2UoJyAxMjM0Jyk9PT0xMjM0Ow0KLSB9DQotfSApOw0K
Ky8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggeworaWQ6ICIxNS4xMi4xLjEtMC00IiwKKworcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuMTIvMTUuMTIuMS8yNS4xMi4xLjEvMTUuMTIuMS4xLTAtNC5qcyIsCisKK2Rl
c2NyaXB0aW9uOiAiPE5CU1A+IGlzIG5vdCB2YWxpZCBKU09OIHdoaXRlc3BhY2UgYXMgc3BlY2lm
aWVkIGJ5IHRoZSBwcm9kdWN0aW9uIEpTT05XaGl0ZXNwYWNlLiIsCisKK3Rlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworICAKKyAgdHJ5IHsKKyAgICBKU09OLnBhcnNlKCdcdTAwYTAxMjM0Jyk7
IC8vIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIAorICAgIH0KKyAgY2F0Y2ggKGUpIHsK
KyAgICAgIHJldHVybiB0cnVlOyAvLyB0cmVhdCBhbnkgZXhjZXB0aW9uIGFzIGEgcGFzcywgb3Ro
ZXIgdGVzdHMgZW5zdXJlIHRoYXQgSlNPTi5wYXJzZSB0aHJvd3MgU3ludGF4RXJyb3IgZXhjZXB0
aW9ucworICAgICAgfQorICB9LAorICAKKyBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEgKCkg
eworICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09OLnBhcnNlKSAmJiBKU09OLnBhcnNlKCcg
MTIzNCcpPT09MTIzNDsKKyB9Cit9ICk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMS4xLTAtNC5qcwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtMC01LmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtMC01LmpzCShy
ZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMTIuMS4xLTAtNS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBA
QAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0K
LS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4xMi4xLjEtMC01
IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4xLzI1LjEyLjEu
MS8xNS4xMi4xLjEtMC01LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIjxaV1NQUD4gaXMgbm90IHZh
bGlkIEpTT04gd2hpdGVzcGFjZSBhcyBzcGVjaWZpZWQgYnkgdGhlIHByb2R1Y3Rpb24gSlNPTldo
aXRlc3BhY2UuIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIA0KLSAgdHJ5
IHsNCi0gICAgSlNPTi5wYXJzZSgnXHUyMDBiMTIzNCcpOyAvLyBzaG91bGQgcHJvZHVjZSBhIHN5
bnRheCBlcnJvciANCi0gICAgfQ0KLSAgY2F0Y2ggKGUpIHsNCi0gICAgICByZXR1cm4gdHJ1ZTsg
Ly8gdHJlYXQgYW55IGV4Y2VwdGlvbiBhcyBhIHBhc3MsIG90aGVyIHRlc3RzIGVuc3VyZSB0aGF0
IEpTT04ucGFyc2UgdGhyb3dzIFN5bnRheEVycm9yIGV4Y2VwdGlvbnMNCi0gICAgICB9DQotICB9
LA0KLSAgDQotIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7DQotICByZXR1cm4gSlNP
TiAmJiBmbkV4aXN0cyhKU09OLnBhcnNlKSAmJiBKU09OLnBhcnNlKCcgMTIzNCcpPT09MTIzNDsN
Ci0gfQ0KLX0gKTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKwor
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMTIuMS4xLTAtNSIsCisKK3BhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjEvMjUuMTIuMS4xLzE1LjEyLjEuMS0w
LTUuanMiLAorCitkZXNjcmlwdGlvbjogIjxaV1NQUD4gaXMgbm90IHZhbGlkIEpTT04gd2hpdGVz
cGFjZSBhcyBzcGVjaWZpZWQgYnkgdGhlIHByb2R1Y3Rpb24gSlNPTldoaXRlc3BhY2UuIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIAorICB0cnkgeworICAgIEpTT04ucGFyc2Uo
J1x1MjAwYjEyMzQnKTsgLy8gc2hvdWxkIHByb2R1Y2UgYSBzeW50YXggZXJyb3IgCisgICAgfQor
ICBjYXRjaCAoZSkgeworICAgICAgcmV0dXJuIHRydWU7IC8vIHRyZWF0IGFueSBleGNlcHRpb24g
YXMgYSBwYXNzLCBvdGhlciB0ZXN0cyBlbnN1cmUgdGhhdCBKU09OLnBhcnNlIHRocm93cyBTeW50
YXhFcnJvciBleGNlcHRpb25zCisgICAgICB9CisgIH0sCisgIAorIHByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcSAoKSB7CisgIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04ucGFyc2UpICYm
IEpTT04ucGFyc2UoJyAxMjM0Jyk9PT0xMjM0OworIH0KK30gKTsKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4x
LjEtMC01LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIwor
TEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS0wLTYuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEy
LjEuMS0wLTYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtMC02LmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0v
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDog
IjE1LjEyLjEuMS0wLTYiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1
LjEyLjEvMjUuMTIuMS4xLzE1LjEyLjEuMS0wLTYuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiPEJP
TT4gaXMgbm90IHZhbGlkIEpTT04gd2hpdGVzcGFjZSBhcyBzcGVjaWZpZWQgYnkgdGhlIHByb2R1
Y3Rpb24gSlNPTldoaXRlc3BhY2UuIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsN
Ci0gIA0KLSAgdHJ5IHsNCi0gICAgSlNPTi5wYXJzZSgnXHVmZWZmMTIzNCcpOyAvLyBzaG91bGQg
cHJvZHVjZSBhIHN5bnRheCBlcnJvciBhDQotICAgIH0NCi0gIGNhdGNoIChlKSB7DQotICAgICAg
cmV0dXJuIHRydWU7IC8vIHRyZWF0IGFueSBleGNlcHRpb24gYXMgYSBwYXNzLCBvdGhlciB0ZXN0
cyBlbnN1cmUgdGhhdCBKU09OLnBhcnNlIHRocm93cyBTeW50YXhFcnJvciBleGNlcHRpb25zDQot
ICAgICAgfQ0KLSAgfSwNCi0gIA0KLSBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEgKCkgew0K
LSAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNPTi5wYXJzZSkgJiYgSlNPTi5wYXJzZSgnIDEy
MzQnKT09PTEyMzQ7DQotIH0NCi19ICk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjEyLjEuMS0w
LTYiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4xLzI1LjEyLjEu
MS8xNS4xMi4xLjEtMC02LmpzIiwKKworZGVzY3JpcHRpb246ICI8Qk9NPiBpcyBub3QgdmFsaWQg
SlNPTiB3aGl0ZXNwYWNlIGFzIHNwZWNpZmllZCBieSB0aGUgcHJvZHVjdGlvbiBKU09OV2hpdGVz
cGFjZS4iLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgCisgIHRyeSB7CisgICAg
SlNPTi5wYXJzZSgnXHVmZWZmMTIzNCcpOyAvLyBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJv
ciBhCisgICAgfQorICBjYXRjaCAoZSkgeworICAgICAgcmV0dXJuIHRydWU7IC8vIHRyZWF0IGFu
eSBleGNlcHRpb24gYXMgYSBwYXNzLCBvdGhlciB0ZXN0cyBlbnN1cmUgdGhhdCBKU09OLnBhcnNl
IHRocm93cyBTeW50YXhFcnJvciBleGNlcHRpb25zCisgICAgICB9CisgIH0sCisgIAorIHByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7CisgIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpT
T04ucGFyc2UpICYmIEpTT04ucGFyc2UoJyAxMjM0Jyk9PT0xMjM0OworIH0KK30gKTsKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4xMi4xLjEtMC02LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMg
LTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS0wLTcu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjEyLjEuMS0wLTcuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtMC03LmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDQzICsxLDQzIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQot
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsNCi1pZDogIjE1LjEyLjEuMS0wLTciLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjEyLzE1LjEyLjEvMjUuMTIuMS4xLzE1LjEyLjEuMS0wLTcuanMiLA0KLQ0KLWRlc2Ny
aXB0aW9uOiAib3RoZXIgY2F0ZWdvcnkgeiBzcGFjZXMgYXJlIG5vdCB2YWxpZCBKU09OIHdoaXRl
c3BhY2UgYXMgc3BlY2lmaWVkIGJ5IHRoZSBwcm9kdWN0aW9uIEpTT05XaGl0ZXNwYWNlLiIsDQot
DQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICANCi0gIHRyeSB7DQotICAgIC8vIHRo
ZSBmb2xsb3dpbmcgc2hvdWxkIHByb2R1Y2UgYSBzeW50YXggZXJyb3IgDQotICAgIEpTT04ucGFy
c2UoJ1x1MTY4MFx1MTgwZVx1MjAwMFx1MjAwMVx1MjAwMlx1MjAwM1x1MjAwNFx1MjAwNVx1MjAw
Nlx1MjAwN1x1MjAwOFx1MjAwOVx1MjAwYVx1MjAyZlx1MjA1Zlx1MzAwMDEyMzQnKTsgDQotICAg
IH0NCi0gIGNhdGNoIChlKSB7DQotICAgICAgcmV0dXJuIHRydWU7IC8vIHRyZWF0IGFueSBleGNl
cHRpb24gYXMgYSBwYXNzLCBvdGhlciB0ZXN0cyBlbnN1cmUgdGhhdCBKU09OLnBhcnNlIHRocm93
cyBTeW50YXhFcnJvciBleGNlcHRpb25zDQotICAgICB9DQotICB9LA0KLSAgDQotIHByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7DQotICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09O
LnBhcnNlKSAmJiBKU09OLnBhcnNlKCcgMTIzNCcpPT09MTIzNDsNCi0gfQ0KLX0gKTsNCisvLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsKK2lkOiAiMTUuMTIuMS4xLTAtNyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjEyLzE1LjEyLjEvMjUuMTIuMS4xLzE1LjEyLjEuMS0wLTcuanMiLAorCitkZXNjcmlw
dGlvbjogIm90aGVyIGNhdGVnb3J5IHogc3BhY2VzIGFyZSBub3QgdmFsaWQgSlNPTiB3aGl0ZXNw
YWNlIGFzIHNwZWNpZmllZCBieSB0aGUgcHJvZHVjdGlvbiBKU09OV2hpdGVzcGFjZS4iLAorCit0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgCisgIHRyeSB7CisgICAgLy8gdGhlIGZvbGxv
d2luZyBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvciAKKyAgICBKU09OLnBhcnNlKCdcdTE2
ODBcdTE4MGVcdTIwMDBcdTIwMDFcdTIwMDJcdTIwMDNcdTIwMDRcdTIwMDVcdTIwMDZcdTIwMDdc
dTIwMDhcdTIwMDlcdTIwMGFcdTIwMmZcdTIwNWZcdTMwMDAxMjM0Jyk7IAorICAgIH0KKyAgY2F0
Y2ggKGUpIHsKKyAgICAgIHJldHVybiB0cnVlOyAvLyB0cmVhdCBhbnkgZXhjZXB0aW9uIGFzIGEg
cGFzcywgb3RoZXIgdGVzdHMgZW5zdXJlIHRoYXQgSlNPTi5wYXJzZSB0aHJvd3MgU3ludGF4RXJy
b3IgZXhjZXB0aW9ucworICAgICB9CisgIH0sCisgIAorIHByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcSAoKSB7CisgIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04ucGFyc2UpICYmIEpTT04u
cGFyc2UoJyAxMjM0Jyk9PT0xMjM0OworIH0KK30gKTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtMC03
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS0wLTguanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS0w
LTguanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtMC04LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQy
ICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAN
Ci0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0v
Ly8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEy
LjEuMS0wLTgiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjEv
MjUuMTIuMS4xLzE1LjEyLjEuMS0wLTguanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiVSsyMDI4IGFu
ZCBVKzIwMjkgYXJlIG5vdCB2YWxpZCBKU09OIHdoaXRlc3BhY2UgYXMgc3BlY2lmaWVkIGJ5IHRo
ZSBwcm9kdWN0aW9uIEpTT05XaGl0ZXNwYWNlLiIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7DQotICANCi0gIHRyeSB7DQotICAgIEpTT04ucGFyc2UoJ1x1MjAyOFx1MjAyOTEyMzQn
KTsgLy8gc2hvdWxkIHByb2R1Y2UgYSBzeW50YXggZXJyb3IgDQotICAgIH0NCi0gIGNhdGNoIChl
KSB7DQotICAgICAgcmV0dXJuIHRydWU7IC8vIHRyZWF0IGFueSBleGNlcHRpb24gYXMgYSBwYXNz
LCBvdGhlciB0ZXN0cyBlbnN1cmUgdGhhdCBKU09OLnBhcnNlIHRocm93cyBTeW50YXhFcnJvciBl
eGNlcHRpb25zDQotICAgICAgfQ0KLSAgfSwNCi0gIA0KLSBwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXEgKCkgew0KLSAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNPTi5wYXJzZSkgJiYgSlNP
Ti5wYXJzZSgnIDEyMzQnKT09PTEyMzQ7DQotIH0NCi19ICk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDog
IjE1LjEyLjEuMS0wLTgiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4x
Mi4xLzI1LjEyLjEuMS8xNS4xMi4xLjEtMC04LmpzIiwKKworZGVzY3JpcHRpb246ICJVKzIwMjgg
YW5kIFUrMjAyOSBhcmUgbm90IHZhbGlkIEpTT04gd2hpdGVzcGFjZSBhcyBzcGVjaWZpZWQgYnkg
dGhlIHByb2R1Y3Rpb24gSlNPTldoaXRlc3BhY2UuIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7CisgIAorICB0cnkgeworICAgIEpTT04ucGFyc2UoJ1x1MjAyOFx1MjAyOTEyMzQnKTsg
Ly8gc2hvdWxkIHByb2R1Y2UgYSBzeW50YXggZXJyb3IgCisgICAgfQorICBjYXRjaCAoZSkgewor
ICAgICAgcmV0dXJuIHRydWU7IC8vIHRyZWF0IGFueSBleGNlcHRpb24gYXMgYSBwYXNzLCBvdGhl
ciB0ZXN0cyBlbnN1cmUgdGhhdCBKU09OLnBhcnNlIHRocm93cyBTeW50YXhFcnJvciBleGNlcHRp
b25zCisgICAgICB9CisgIH0sCisgIAorIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7
CisgIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04ucGFyc2UpICYmIEpTT04ucGFyc2UoJyAx
MjM0Jyk9PT0xMjM0OworIH0KK30gKTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtMC04LmpzCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS0wLTkuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS0wLTkuanMJKHJl
dmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4xMi4xLjEtMC05LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
DQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEyLjEuMS0wLTki
LA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjEvMjUuMTIuMS4x
LzE1LjEyLjEuMS0wLTkuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiV2hpdGVzcGFjZSBjaGFyYWN0
ZXJzIGNhbiBhcHBlYXIgYmVmb3JlL2FmdGVyIGFueSBKU09OdG9rZW4iLA0KLQ0KLXRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICBKU09OLnBhcnNlKCdcdFxyIFxue1x0XHIgXG4n
Kw0KLSAgICAgICAgICAgICAgICAgICAnInByb3BlcnR5Ilx0XHIgXG46XHRcciBcbntcdFxyIFxu
fVx0XHIgXG4sXHRcciBcbicgKw0KLSAgICAgICAgICAgICAgICAgICAnInByb3AyIlx0XHIgXG46
XHRcciBcbicrDQotICAgICAgICAgICAgICAgICAgICAgICAgJ1tcdFxyIFxudHJ1ZVx0XHIgXG4s
XHRcciBcbm51bGxcdFxyIFxuLDEyMy40NTZcdFxyIFxuXScrDQotICAgICAgICAgICAgICAgICAg
ICAgJ1x0XHIgXG59XHRcciBcbicpOyAgLy8gc2hvdWxkIEpPU04gcGFyc2Ugd2l0aG91dCBlcnJv
cg0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0sDQotICANCi0gcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVxICgpIHsNCi0gIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04ucGFyc2UpICYmIEpT
T04ucGFyc2UoJzEyMzQnKT09PTEyMzQ7DQotIH0NCi19ICk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDog
IjE1LjEyLjEuMS0wLTkiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4x
Mi4xLzI1LjEyLjEuMS8xNS4xMi4xLjEtMC05LmpzIiwKKworZGVzY3JpcHRpb246ICJXaGl0ZXNw
YWNlIGNoYXJhY3RlcnMgY2FuIGFwcGVhciBiZWZvcmUvYWZ0ZXIgYW55IEpTT050b2tlbiIsCisK
K3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgSlNPTi5wYXJzZSgnXHRcciBcbntc
dFxyIFxuJysKKyAgICAgICAgICAgICAgICAgICAnInByb3BlcnR5Ilx0XHIgXG46XHRcciBcbntc
dFxyIFxufVx0XHIgXG4sXHRcciBcbicgKworICAgICAgICAgICAgICAgICAgICcicHJvcDIiXHRc
ciBcbjpcdFxyIFxuJysKKyAgICAgICAgICAgICAgICAgICAgICAgICdbXHRcciBcbnRydWVcdFxy
IFxuLFx0XHIgXG5udWxsXHRcciBcbiwxMjMuNDU2XHRcciBcbl0nKworICAgICAgICAgICAgICAg
ICAgICAgJ1x0XHIgXG59XHRcciBcbicpOyAgLy8gc2hvdWxkIEpPU04gcGFyc2Ugd2l0aG91dCBl
cnJvcgorICAgIHJldHVybiB0cnVlOworICB9LAorICAKKyBwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXEgKCkgeworICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09OLnBhcnNlKSAmJiBKU09O
LnBhcnNlKCcxMjM0Jyk9PT0xMjM0OworIH0KK30gKTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtMC05
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nMS0xLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEt
ZzEtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nMS0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4N
Ci0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1
LjEyLjEuMS1nMS0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4x
Mi4xLzI1LjEyLjEuMS8xNS4xMi4xLjEtZzEtMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJUaGUg
SlNPTiBsZXhpY2FsIGdyYW1tZXIgdHJlYXRzIDxUQUI+IGFzIGEgd2hpdGVzcGFjZSBjaGFyYWN0
ZXIiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgaWYgKEpTT04ucGFyc2Uo
J1x0MTIzNCcpIT09MTIzNCkgcmV0dXJuIGZhbHNlOyAvLyA8VEFCPiBzaG91bGQgYmUgaWdub3Jl
ZA0KLSAgdHJ5IHsNCi0gICAgSlNPTi5wYXJzZSgnMTJcdDM0Jyk7IC8vIDxUQUI+IHNob3VsZCBw
cm9kdWNlIGEgc3ludGF4IGVycm9yIGFzIHdoaXRlc3BhY2UgcmVzdWx0cyBpbiB0d28gdG9rZW5z
DQotICAgIH0NCi0gIGNhdGNoIChlKSB7DQotICAgICAgcmV0dXJuIHRydWU7IC8vIHRyZWF0IGFu
eSBleGNlcHRpb24gYXMgYSBwYXNzLCBvdGhlciB0ZXN0cyBlbnN1cmUgdGhhdCBKU09OLnBhcnNl
IHRocm93cyBTeW50YXhFcnJvciBleGNlcHRpb25zDQotICAgICAgfQ0KLSAgfSwNCi0gIA0KLSBw
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEgKCkgew0KLSAgcmV0dXJuIEpTT04gJiYgZm5FeGlz
dHMoSlNPTi5wYXJzZSkgJiYgSlNPTi5wYXJzZSgnMTIzNCcpPT09MTIzNDsNCi0gfQ0KLX0gKTsN
CisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMTIuMS4xLWcxLTEiLAorCitwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4xLzI1LjEyLjEuMS8xNS4xMi4xLjEtZzEtMS5qcyIsCisK
K2Rlc2NyaXB0aW9uOiAiVGhlIEpTT04gbGV4aWNhbCBncmFtbWVyIHRyZWF0cyA8VEFCPiBhcyBh
IHdoaXRlc3BhY2UgY2hhcmFjdGVyIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7Cisg
IGlmIChKU09OLnBhcnNlKCdcdDEyMzQnKSE9PTEyMzQpIHJldHVybiBmYWxzZTsgLy8gPFRBQj4g
c2hvdWxkIGJlIGlnbm9yZWQKKyAgdHJ5IHsKKyAgICBKU09OLnBhcnNlKCcxMlx0MzQnKTsgLy8g
PFRBQj4gc2hvdWxkIHByb2R1Y2UgYSBzeW50YXggZXJyb3IgYXMgd2hpdGVzcGFjZSByZXN1bHRz
IGluIHR3byB0b2tlbnMKKyAgICB9CisgIGNhdGNoIChlKSB7CisgICAgICByZXR1cm4gdHJ1ZTsg
Ly8gdHJlYXQgYW55IGV4Y2VwdGlvbiBhcyBhIHBhc3MsIG90aGVyIHRlc3RzIGVuc3VyZSB0aGF0
IEpTT04ucGFyc2UgdGhyb3dzIFN5bnRheEVycm9yIGV4Y2VwdGlvbnMKKyAgICAgIH0KKyAgfSwK
KyAgCisgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsKKyAgcmV0dXJuIEpTT04gJiYg
Zm5FeGlzdHMoSlNPTi5wYXJzZSkgJiYgSlNPTi5wYXJzZSgnMTIzNCcpPT09MTIzNDsKKyB9Cit9
ICk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMTIuMS4xLWcxLTEuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
MTIuMS4xLWcxLTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nMS0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMS4x
LWcxLTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
DQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMTIuMS4xLWcxLTIiLA0KLQ0KLXBhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjEvMjUuMTIuMS4xLzE1LjEyLjEuMS1nMS0y
LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIlRoZSBKU09OIGxleGljYWwgZ3JhbW1lciB0cmVhdHMg
PENSPiBhcyBhIHdoaXRlc3BhY2UgY2hhcmFjdGVyIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsNCi0gIGlmIChKU09OLnBhcnNlKCdccjEyMzQnKSE9PTEyMzQpIHJldHVybiBmYWxz
ZTsgLy8gPGNyPiBzaG91bGQgYmUgaWdub3JlZA0KLSAgdHJ5IHsNCi0gICAgSlNPTi5wYXJzZSgn
MTJccjM0Jyk7IC8vIDxDUj4gc2hvdWxkIHByb2R1Y2UgYSBzeW50YXggZXJyb3IgYXMgd2hpdGVz
cGFjZSByZXN1bHRzIGluIHR3byB0b2tlbnMNCi0gICAgfQ0KLSAgY2F0Y2ggKGUpIHsNCi0gICAg
ICBpZiAoZS5uYW1lID09PSAnU3ludGF4RXJyb3InKSByZXR1cm4gdHJ1ZTsNCi0gICAgICB9DQot
ICB9LA0KLSAgDQotIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7DQotICByZXR1cm4g
SlNPTiAmJiBmbkV4aXN0cyhKU09OLnBhcnNlKSAmJiBKU09OLnBhcnNlKCcxMjM0Jyk9PT0xMjM0
Ow0KLSB9DQotfSApOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bwor
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAor
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKwor
CitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4xMi4xLjEtZzEtMiIsCisKK3Bh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjEvMjUuMTIuMS4xLzE1LjEyLjEu
MS1nMS0yLmpzIiwKKworZGVzY3JpcHRpb246ICJUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgdHJl
YXRzIDxDUj4gYXMgYSB3aGl0ZXNwYWNlIGNoYXJhY3RlciIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeworICBpZiAoSlNPTi5wYXJzZSgnXHIxMjM0JykhPT0xMjM0KSByZXR1cm4gZmFs
c2U7IC8vIDxjcj4gc2hvdWxkIGJlIGlnbm9yZWQKKyAgdHJ5IHsKKyAgICBKU09OLnBhcnNlKCcx
MlxyMzQnKTsgLy8gPENSPiBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvciBhcyB3aGl0ZXNw
YWNlIHJlc3VsdHMgaW4gdHdvIHRva2VucworICAgIH0KKyAgY2F0Y2ggKGUpIHsKKyAgICAgIGlm
IChlLm5hbWUgPT09ICdTeW50YXhFcnJvcicpIHJldHVybiB0cnVlOworICAgICAgfQorICB9LAor
ICAKKyBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEgKCkgeworICByZXR1cm4gSlNPTiAmJiBm
bkV4aXN0cyhKU09OLnBhcnNlKSAmJiBKU09OLnBhcnNlKCcxMjM0Jyk9PT0xMjM0OworIH0KK30g
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtZzEtMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4x
Mi4xLjEtZzEtMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMS4xLWcxLTMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEt
ZzEtMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4xMi4xLjEtZzEtMyIsDQotDQotcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMS8yNS4xMi4xLjEvMTUuMTIuMS4xLWcxLTMu
anMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiVGhlIEpTT04gbGV4aWNhbCBncmFtbWVyIHRyZWF0cyA8
TEY+IGFzIGEgd2hpdGVzcGFjZSBjaGFyYWN0ZXIiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgew0KLSAgaWYgKEpTT04ucGFyc2UoJ1xuMTIzNCcpIT09MTIzNCkgcmV0dXJuIGZhbHNl
OyAvLyA8TEY+IHNob3VsZCBiZSBpZ25vcmVkDQotICB0cnkgew0KLSAgICBKU09OLnBhcnNlKCcx
MlxuMzQnKTsgLy8gPExGPiBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvciBhcyB3aGl0ZXNw
YWNlIHJlc3VsdHMgaW4gdHdvIHRva2Vucw0KLSAgICB9DQotICBjYXRjaCAoZSkgew0KLSAgICAg
IGlmIChlLm5hbWUgPT09ICdTeW50YXhFcnJvcicpIHJldHVybiB0cnVlOw0KLSAgICAgIH0NCi0g
IH0sDQotICANCi0gcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsNCi0gIHJldHVybiBK
U09OICYmIGZuRXhpc3RzKEpTT04ucGFyc2UpICYmIEpTT04ucGFyc2UoJzEyMzQnKT09PTEyMzQ7
DQotIH0NCi19ICk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisv
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisv
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjEyLjEuMS1nMS0zIiwKKworcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMS8yNS4xMi4xLjEvMTUuMTIuMS4x
LWcxLTMuanMiLAorCitkZXNjcmlwdGlvbjogIlRoZSBKU09OIGxleGljYWwgZ3JhbW1lciB0cmVh
dHMgPExGPiBhcyBhIHdoaXRlc3BhY2UgY2hhcmFjdGVyIiwKKwordGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7CisgIGlmIChKU09OLnBhcnNlKCdcbjEyMzQnKSE9PTEyMzQpIHJldHVybiBmYWxz
ZTsgLy8gPExGPiBzaG91bGQgYmUgaWdub3JlZAorICB0cnkgeworICAgIEpTT04ucGFyc2UoJzEy
XG4zNCcpOyAvLyA8TEY+IHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIGFzIHdoaXRlc3Bh
Y2UgcmVzdWx0cyBpbiB0d28gdG9rZW5zCisgICAgfQorICBjYXRjaCAoZSkgeworICAgICAgaWYg
KGUubmFtZSA9PT0gJ1N5bnRheEVycm9yJykgcmV0dXJuIHRydWU7CisgICAgICB9CisgIH0sCisg
IAorIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7CisgIHJldHVybiBKU09OICYmIGZu
RXhpc3RzKEpTT04ucGFyc2UpICYmIEpTT04ucGFyc2UoJzEyMzQnKT09PTEyMzQ7CisgfQorfSAp
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nMS0zLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEy
LjEuMS1nMS00LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtZzEtNC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1n
MS00LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0K
LS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
Uw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEyLjEuMS1nMS00IiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4xLzI1LjEyLjEuMS8xNS4xMi4xLjEtZzEtNC5q
cyIsDQotDQotZGVzY3JpcHRpb246ICJUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgdHJlYXRzIDxT
UD4gYXMgYSB3aGl0ZXNwYWNlIGNoYXJhY3RlciIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7DQotIGlmIChKU09OLnBhcnNlKCcgMTIzNCcpIT0xMjM0KSByZXR1cm4gZmFsc2U7IC8v
IDxTUD4gc2hvdWxkIGJlIGlnbm9yZWQNCi0gIHRyeSB7DQotICAgIEpTT04ucGFyc2UoJzEyIDM0
Jyk7IC8vIDxTUD4gc2hvdWxkIHByb2R1Y2UgYSBzeW50YXggZXJyb3IgYXMgd2hpdGVzcGFjZSBy
ZXN1bHRzIGluIHR3byB0b2tlbnMNCi0gICAgfQ0KLSAgY2F0Y2ggKGUpIHsNCi0gICAgICBpZiAo
ZS5uYW1lID09PSAnU3ludGF4RXJyb3InKSByZXR1cm4gdHJ1ZTsNCi0gICAgICB9DQotICB9LA0K
LSAgDQotIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7DQotICByZXR1cm4gSlNPTiAm
JiBmbkV4aXN0cyhKU09OLnBhcnNlKSYmIEpTT04ucGFyc2UoJzEyMzQnKT09PTEyMzQ7DQotIH0N
Ci19ICk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjEyLjEuMS1nMS00IiwKKworcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMS8yNS4xMi4xLjEvMTUuMTIuMS4xLWcxLTQu
anMiLAorCitkZXNjcmlwdGlvbjogIlRoZSBKU09OIGxleGljYWwgZ3JhbW1lciB0cmVhdHMgPFNQ
PiBhcyBhIHdoaXRlc3BhY2UgY2hhcmFjdGVyIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7CisgaWYgKEpTT04ucGFyc2UoJyAxMjM0JykhPTEyMzQpIHJldHVybiBmYWxzZTsgLy8gPFNQ
PiBzaG91bGQgYmUgaWdub3JlZAorICB0cnkgeworICAgIEpTT04ucGFyc2UoJzEyIDM0Jyk7IC8v
IDxTUD4gc2hvdWxkIHByb2R1Y2UgYSBzeW50YXggZXJyb3IgYXMgd2hpdGVzcGFjZSByZXN1bHRz
IGluIHR3byB0b2tlbnMKKyAgICB9CisgIGNhdGNoIChlKSB7CisgICAgICBpZiAoZS5uYW1lID09
PSAnU3ludGF4RXJyb3InKSByZXR1cm4gdHJ1ZTsKKyAgICAgIH0KKyAgfSwKKyAgCisgcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsKKyAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNP
Ti5wYXJzZSkmJiBKU09OLnBhcnNlKCcxMjM0Jyk9PT0xMjM0OworIH0KK30gKTsKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4xMi4xLjEtZzEtNC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w
LDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtZzItMS5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMTIuMS4xLWcyLTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtZzItMS5qcwkod29y
a2luZyBjb3B5KQpAQCAtMSwzNiArMSwzNiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0K
LS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7DQotaWQ6ICIxNS4xMi4xLjEtZzItMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuMTIvMTUuMTIuMS8yNS4xMi4xLjEvMTUuMTIuMS4xLWcyLTEuanMiLA0KLQ0KLWRl
c2NyaXB0aW9uOiAiSlNPTlN0cmluZ3MgY2FuIGJlIHdyaXR0ZW4gdXNpbmcgZG91YmxlIHF1b3Rl
cyIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICByZXR1cm4gSlNPTi5wYXJz
ZSgnImFiYyInKT09PSJhYmMiOyANCi0gIH0sDQotICANCi0gcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVxICgpIHsNCi0gIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04ucGFyc2UpIDsNCi0g
fQ0KLX0gKTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAK
Ky8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
CisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYK
Ky8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMTIuMS4xLWcyLTEiLAorCitwYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4xLzI1LjEyLjEuMS8xNS4xMi4xLjEtZzIt
MS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiSlNPTlN0cmluZ3MgY2FuIGJlIHdyaXR0ZW4gdXNpbmcg
ZG91YmxlIHF1b3RlcyIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICByZXR1cm4g
SlNPTi5wYXJzZSgnImFiYyInKT09PSJhYmMiOyAKKyAgfSwKKyAgCisgcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVxICgpIHsKKyAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNPTi5wYXJzZSkg
OworIH0KK30gKTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtZzItMS5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4xMi4xLjEtZzItMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMS4xLWcyLTIuanMJKHJldmlzaW9uIDE5
OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4xMi4xLjEtZzItMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MSArMSw0MSBAQAotICAgIC8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMTIuMS4xLWcyLTIiLA0K
LQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjEvMjUuMTIuMS4xLzE1
LjEyLjEuMS1nMi0yLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkEgSlNPTlN0cmluZyBtYXkgbm90
IGJlIGRlbGltaXRlZCBieSBzaW5nbGUgcXVvdGVzICIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7DQotICAgIHRyeSB7DQotICAgICAgICBpZiAoSlNPTi5wYXJzZSgiJ2FiYyciKSA9
PT0nYWJjJykgcmV0dXJuIGZhbHNlOw0KLSAgICAgICB9DQotICAgICBjYXRjaCAoZSkgew0KLSAg
ICAgICAgcmV0dXJuIHRydWU7DQotICAgICAgICB9DQotICB9LA0KLSAgDQotIHByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcSAoKSB7DQotICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09OLnBh
cnNlKSYmICBKU09OLnBhcnNlKCciMTIzNCInKT09PSIxMjM0IjsNCi0gfQ0KLX0gKTsNCisgICAg
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7CitpZDogIjE1LjEyLjEuMS1nMi0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuMTIvMTUuMTIuMS8yNS4xMi4xLjEvMTUuMTIuMS4xLWcyLTIuanMiLAorCitk
ZXNjcmlwdGlvbjogIkEgSlNPTlN0cmluZyBtYXkgbm90IGJlIGRlbGltaXRlZCBieSBzaW5nbGUg
cXVvdGVzICIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgIHRyeSB7CisgICAg
ICAgIGlmIChKU09OLnBhcnNlKCInYWJjJyIpID09PSdhYmMnKSByZXR1cm4gZmFsc2U7CisgICAg
ICAgfQorICAgICBjYXRjaCAoZSkgeworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQor
ICB9LAorICAKKyBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEgKCkgeworICByZXR1cm4gSlNP
TiAmJiBmbkV4aXN0cyhKU09OLnBhcnNlKSYmICBKU09OLnBhcnNlKCciMTIzNCInKT09PSIxMjM0
IjsKKyB9Cit9ICk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMS4xLWcyLTIuanMKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMTIuMS4xLWcyLTMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nMi0zLmpzCShyZXZpc2lvbiAx
OTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMTIuMS4xLWcyLTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDEgKzEsNDEgQEAKLSAgICAv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEyLjEuMS1nMi0zIiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4xLzI1LjEyLjEuMS8x
NS4xMi4xLjEtZzItMy5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBIEpTT05TdHJpbmcgbWF5IG5v
dCBiZSBkZWxpbWl0ZWQgYnkgVW5jb2RlIGVzY2FwZWQgcXVvdGVzICIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotICAgIHRyeSB7DQotICAgICAgICBpZiAoSlNPTi5wYXJzZSgi
XFx1MDAyMmFiY1xcdTAwMjIiKSA9PT0nYWJjJykgcmV0dXJuIGZhbHNlOw0KLSAgICAgICB9DQot
ICAgICBjYXRjaCAoZSkgew0KLSAgICAgICAgcmV0dXJuIHRydWU7DQotICAgICAgICB9DQotICB9
LA0KLSAgDQotIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7DQotICByZXR1cm4gSlNP
TiAmJiBmbkV4aXN0cyhKU09OLnBhcnNlKSAmJiBKU09OLnBhcnNlKCciMTIzNCInKT09PSIxMjM0
IjsNCi0gfQ0KLX0gKTsNCisgICAgLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisv
Ly8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjEyLjEuMS1nMi0zIiwK
KworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMS8yNS4xMi4xLjEvMTUu
MTIuMS4xLWcyLTMuanMiLAorCitkZXNjcmlwdGlvbjogIkEgSlNPTlN0cmluZyBtYXkgbm90IGJl
IGRlbGltaXRlZCBieSBVbmNvZGUgZXNjYXBlZCBxdW90ZXMgIiwKKwordGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7CisgICAgdHJ5IHsKKyAgICAgICAgaWYgKEpTT04ucGFyc2UoIlxcdTAwMjJh
YmNcXHUwMDIyIikgPT09J2FiYycpIHJldHVybiBmYWxzZTsKKyAgICAgICB9CisgICAgIGNhdGNo
IChlKSB7CisgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgIH0sCisgIAorIHByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7CisgIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpT
T04ucGFyc2UpICYmIEpTT04ucGFyc2UoJyIxMjM0IicpPT09IjEyMzQiOworIH0KK30gKTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4xMi4xLjEtZzItMy5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEt
ZzItNC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMTIuMS4xLWcyLTQuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtZzItNC5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw0MSArMSw0MSBAQAotICAgIC8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMTIuMS4xLWcyLTQiLA0KLQ0KLXBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjEvMjUuMTIuMS4xLzE1LjEyLjEuMS1nMi00Lmpz
IiwNCi0NCi1kZXNjcmlwdGlvbjogIkEgSlNPTlN0cmluZyBtdXN0IGJvdGggYmVnaW4gYW5kIGVu
ZCB3aXRoIGRvdWJsZSBxdW90ZXMiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LSAgICB0cnkgew0KLSAgICAgICAgaWYgKEpTT04ucGFyc2UoJyJhYicrImMnIikgPT09J2FiYycp
IHJldHVybiBmYWxzZTsNCi0gICAgICAgfQ0KLSAgICAgY2F0Y2ggKGUpIHsNCi0gICAgICAgIHJl
dHVybiB0cnVlOw0KLSAgICAgICAgfQ0KLSAgfSwNCi0gIA0KLSBwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXEgKCkgew0KLSAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNPTi5wYXJzZSkgJiYg
SlNPTi5wYXJzZSgnIjEyMzQiJyk9PT0iMTIzNCI7DQotIH0NCi19ICk7DQorICAgIC8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAK
Ky8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggeworaWQ6ICIxNS4xMi4xLjEtZzItNCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjEyLzE1LjEyLjEvMjUuMTIuMS4xLzE1LjEyLjEuMS1nMi00LmpzIiwKKworZGVzY3JpcHRp
b246ICJBIEpTT05TdHJpbmcgbXVzdCBib3RoIGJlZ2luIGFuZCBlbmQgd2l0aCBkb3VibGUgcXVv
dGVzIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgICAgdHJ5IHsKKyAgICAgICAg
aWYgKEpTT04ucGFyc2UoJyJhYicrImMnIikgPT09J2FiYycpIHJldHVybiBmYWxzZTsKKyAgICAg
ICB9CisgICAgIGNhdGNoIChlKSB7CisgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9Cisg
IH0sCisgIAorIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7CisgIHJldHVybiBKU09O
ICYmIGZuRXhpc3RzKEpTT04ucGFyc2UpICYmIEpTT04ucGFyc2UoJyIxMjM0IicpPT09IjEyMzQi
OworIH0KK30gKTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtZzItNC5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4xMi4xLjEtZzItNS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMS4xLWcyLTUuanMJKHJldmlzaW9uIDE5
OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4xMi4xLjEtZzItNS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzNiArMSwzNiBAQAotLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYN
Ci0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0K
LUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4xMi4xLjEtZzItNSIsDQotDQot
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMS8yNS4xMi4xLjEvMTUuMTIu
MS4xLWcyLTUuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQSBKU09OU3RyaW5ncyBjYW4gY29udGFp
biBubyBKU09OU3RyaW5nQ2hhcmFjdGVycyAoRW1wdHkgSlNPTlN0cmluZ3MpIiwNCi0NCi10ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHJldHVybiBKU09OLnBhcnNlKCciIicpPT09IiI7
IA0KLSAgfSwNCi0gIA0KLSBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEgKCkgew0KLSAgcmV0
dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNPTi5wYXJzZSkgJiYgSlNPTi5wYXJzZSgnIjEyMzQiJyk9
PT0nMTIzNCc7DQotIH0NCi19ICk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjEyLjEuMS1nMi01
IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMS8yNS4xMi4xLjEv
MTUuMTIuMS4xLWcyLTUuanMiLAorCitkZXNjcmlwdGlvbjogIkEgSlNPTlN0cmluZ3MgY2FuIGNv
bnRhaW4gbm8gSlNPTlN0cmluZ0NoYXJhY3RlcnMgKEVtcHR5IEpTT05TdHJpbmdzKSIsCisKK3Rl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICByZXR1cm4gSlNPTi5wYXJzZSgnIiInKT09PSIi
OyAKKyAgfSwKKyAgCisgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsKKyAgcmV0dXJu
IEpTT04gJiYgZm5FeGlzdHMoSlNPTi5wYXJzZSkgJiYgSlNPTi5wYXJzZSgnIjEyMzQiJyk9PT0n
MTIzNCc7CisgfQorfSApOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nMi01LmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjEyLjEuMS1nNC0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtZzQtMS5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjEyLjEuMS1nNC0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQxICsxLDQxIEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEyLjEuMS1nNC0xIiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4xLzI1LjEyLjEuMS8x
NS4xMi4xLjEtZzQtMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJUaGUgSlNPTiBsZXhpY2FsIGdy
YW1tZXIgZG9lcyBub3QgYWxsb3cgYSBKU09OU3RyaW5nQ2hhcmFjdGVyIHRvIGJlIGFueSBvZiB0
aGUgVW5pY29kZSBjaGFyYWN0ZXJzIFUrMDAwMCB0aHJ1IFUrMDAwNyIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotICB0cnkgew0KLSAgICBKU09OLnBhcnNlKCciXHUwMDAwXHUw
MDAxXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDA1XHUwMDA2XHUwMDA3IicpOyAvLyBpbnZhbGlkIHN0
cmluZyBjaGFyYWN0ZXJzIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yDQotICAgIH0NCi0g
IGNhdGNoIChlKSB7DQotICAgICAgcmV0dXJuIHRydWU7IC8vIHRyZWF0IGFueSBleGNlcHRpb24g
YXMgYSBwYXNzLCBvdGhlciB0ZXN0cyBlbnN1cmUgdGhhdCBKU09OLnBhcnNlIHRocm93cyBTeW50
YXhFcnJvciBleGNlcHRpb25zDQotICAgICAgfQ0KLSAgfSwNCi0gIA0KLSBwcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXEgKCkgew0KLSAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNPTi5wYXJz
ZSkmJiBKU09OLnBhcnNlKCciMTIzNCInKT09PSIxMjM0IjsNCi0gfQ0KLX0gKTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKK2lkOiAiMTUuMTIuMS4xLWc0LTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS4xMi8xNS4xMi4xLzI1LjEyLjEuMS8xNS4xMi4xLjEtZzQtMS5qcyIsCisKK2Rlc2NyaXB0
aW9uOiAiVGhlIEpTT04gbGV4aWNhbCBncmFtbWVyIGRvZXMgbm90IGFsbG93IGEgSlNPTlN0cmlu
Z0NoYXJhY3RlciB0byBiZSBhbnkgb2YgdGhlIFVuaWNvZGUgY2hhcmFjdGVycyBVKzAwMDAgdGhy
dSBVKzAwMDciLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdHJ5IHsKKyAgICBK
U09OLnBhcnNlKCciXHUwMDAwXHUwMDAxXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDA1XHUwMDA2XHUw
MDA3IicpOyAvLyBpbnZhbGlkIHN0cmluZyBjaGFyYWN0ZXJzIHNob3VsZCBwcm9kdWNlIGEgc3lu
dGF4IGVycm9yCisgICAgfQorICBjYXRjaCAoZSkgeworICAgICAgcmV0dXJuIHRydWU7IC8vIHRy
ZWF0IGFueSBleGNlcHRpb24gYXMgYSBwYXNzLCBvdGhlciB0ZXN0cyBlbnN1cmUgdGhhdCBKU09O
LnBhcnNlIHRocm93cyBTeW50YXhFcnJvciBleGNlcHRpb25zCisgICAgICB9CisgIH0sCisgIAor
IHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7CisgIHJldHVybiBKU09OICYmIGZuRXhp
c3RzKEpTT04ucGFyc2UpJiYgSlNPTi5wYXJzZSgnIjEyMzQiJyk9PT0iMTIzNCI7CisgfQorfSAp
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nNC0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEy
LjEuMS1nNC0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtZzQtMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1n
NC0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQxICsxLDQxIEBACi0vLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0K
LS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
Uw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEyLjEuMS1nNC0yIiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4xLzI1LjEyLjEuMS8xNS4xMi4xLjEtZzQtMi5q
cyIsDQotDQotZGVzY3JpcHRpb246ICJUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgZG9lcyBub3Qg
YWxsb3cgYSBKU09OU3RyaW5nQ2hhcmFjdGVyIHRvIGJlIGFueSBvZiB0aGUgVW5pY29kZSBjaGFy
YWN0ZXJzIFUrMDAwOCB0aHJ1IFUrMDAwRiIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotICB0cnkgew0KLSAgICBKU09OLnBhcnNlKCciXHUwMDA4XHUwMDA5XHUwMDBhXHUwMDBi
XHUwMDBjXHUwMDBkXHUwMDBlXHUwMDBmIicpOyAvLyBpbnZhbGlkIHN0cmluZyBjaGFyYWN0ZXJz
IHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yDQotICAgIH0NCi0gIGNhdGNoIChlKSB7DQot
ICAgICAgcmV0dXJuIHRydWU7IC8vIHRyZWF0IGFueSBleGNlcHRpb24gYXMgYSBwYXNzLCBvdGhl
ciB0ZXN0cyBlbnN1cmUgdGhhdCBKU09OLnBhcnNlIHRocm93cyBTeW50YXhFcnJvciBleGNlcHRp
b25zDQotICAgICAgfQ0KLSAgfSwNCi0gIA0KLSBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEg
KCkgew0KLSAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNPTi5wYXJzZSkmJiBKU09OLnBhcnNl
KCciMTIzNCInKT09PSIxMjM0IjsNCi0gfQ0KLX0gKTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MK
Ky8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUu
MTIuMS4xLWc0LTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4x
LzI1LjEyLjEuMS8xNS4xMi4xLjEtZzQtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiVGhlIEpTT04g
bGV4aWNhbCBncmFtbWVyIGRvZXMgbm90IGFsbG93IGEgSlNPTlN0cmluZ0NoYXJhY3RlciB0byBi
ZSBhbnkgb2YgdGhlIFVuaWNvZGUgY2hhcmFjdGVycyBVKzAwMDggdGhydSBVKzAwMEYiLAorCit0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdHJ5IHsKKyAgICBKU09OLnBhcnNlKCciXHUw
MDA4XHUwMDA5XHUwMDBhXHUwMDBiXHUwMDBjXHUwMDBkXHUwMDBlXHUwMDBmIicpOyAvLyBpbnZh
bGlkIHN0cmluZyBjaGFyYWN0ZXJzIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yCisgICAg
fQorICBjYXRjaCAoZSkgeworICAgICAgcmV0dXJuIHRydWU7IC8vIHRyZWF0IGFueSBleGNlcHRp
b24gYXMgYSBwYXNzLCBvdGhlciB0ZXN0cyBlbnN1cmUgdGhhdCBKU09OLnBhcnNlIHRocm93cyBT
eW50YXhFcnJvciBleGNlcHRpb25zCisgICAgICB9CisgIH0sCisgIAorIHByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcSAoKSB7CisgIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04ucGFyc2Up
JiYgSlNPTi5wYXJzZSgnIjEyMzQiJyk9PT0iMTIzNCI7CisgfQorfSApOwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjEyLjEuMS1nNC0yLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCAr
MSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nNC0zLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4xMi4xLjEtZzQtMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nNC0zLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDQxICsxLDQxIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
Ci0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsNCi1pZDogIjE1LjEyLjEuMS1nNC0zIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS4xMi8xNS4xMi4xLzI1LjEyLjEuMS8xNS4xMi4xLjEtZzQtMy5qcyIsDQotDQotZGVzY3Jp
cHRpb246ICJUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgZG9lcyBub3QgYWxsb3cgYSBKU09OU3Ry
aW5nQ2hhcmFjdGVyIHRvIGJlIGFueSBvZiB0aGUgVW5pY29kZSBjaGFyYWN0ZXJzIFUrMDAxMCB0
aHJ1IFUrMDAxNyIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB0cnkgew0K
LSAgICBKU09OLnBhcnNlKCciXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXHUwMDE0XHUwMDE1XHUw
MDE2XHUwMDE3IicpOyAvLyBpbnZhbGlkIHN0cmluZyBjaGFyYWN0ZXJzIHNob3VsZCBwcm9kdWNl
IGEgc3ludGF4IGVycm9yDQotICAgIH0NCi0gIGNhdGNoIChlKSB7DQotICAgICAgcmV0dXJuIHRy
dWU7IC8vIHRyZWF0IGFueSBleGNlcHRpb24gYXMgYSBwYXNzLCBvdGhlciB0ZXN0cyBlbnN1cmUg
dGhhdCBKU09OLnBhcnNlIHRocm93cyBTeW50YXhFcnJvciBleGNlcHRpb25zDQotICAgICAgfQ0K
LSAgfSwNCi0gIA0KLSBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEgKCkgew0KLSAgcmV0dXJu
IEpTT04gJiYgZm5FeGlzdHMoSlNPTi5wYXJzZSkmJiBKU09OLnBhcnNlKCciMTIzNCInKT09PSIx
MjM0IjsNCi0gfQ0KLX0gKTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8v
LyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMTIuMS4xLWc0LTMiLAor
CitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4xLzI1LjEyLjEuMS8xNS4x
Mi4xLjEtZzQtMy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiVGhlIEpTT04gbGV4aWNhbCBncmFtbWVy
IGRvZXMgbm90IGFsbG93IGEgSlNPTlN0cmluZ0NoYXJhY3RlciB0byBiZSBhbnkgb2YgdGhlIFVu
aWNvZGUgY2hhcmFjdGVycyBVKzAwMTAgdGhydSBVKzAwMTciLAorCit0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsKKyAgdHJ5IHsKKyAgICBKU09OLnBhcnNlKCciXHUwMDEwXHUwMDExXHUwMDEy
XHUwMDEzXHUwMDE0XHUwMDE1XHUwMDE2XHUwMDE3IicpOyAvLyBpbnZhbGlkIHN0cmluZyBjaGFy
YWN0ZXJzIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yCisgICAgfQorICBjYXRjaCAoZSkg
eworICAgICAgcmV0dXJuIHRydWU7IC8vIHRyZWF0IGFueSBleGNlcHRpb24gYXMgYSBwYXNzLCBv
dGhlciB0ZXN0cyBlbnN1cmUgdGhhdCBKU09OLnBhcnNlIHRocm93cyBTeW50YXhFcnJvciBleGNl
cHRpb25zCisgICAgICB9CisgIH0sCisgIAorIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAo
KSB7CisgIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04ucGFyc2UpJiYgSlNPTi5wYXJzZSgn
IjEyMzQiJyk9PT0iMTIzNCI7CisgfQorfSApOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nNC0zLmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nNC00LmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtZzQt
NC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nNC00LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQx
ICsxLDQxIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAN
Ci0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0v
Ly8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEy
LjEuMS1nNC00IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4x
LzI1LjEyLjEuMS8xNS4xMi4xLjEtZzQtNC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJUaGUgSlNP
TiBsZXhpY2FsIGdyYW1tZXIgZG9lcyBub3QgYWxsb3cgYSBKU09OU3RyaW5nQ2hhcmFjdGVyIHRv
IGJlIGFueSBvZiB0aGUgVW5pY29kZSBjaGFyYWN0ZXJzIFUrMDAxOCB0aHJ1IFUrMDAxRiIsDQot
DQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB0cnkgew0KLSAgICBKU09OLnBhcnNl
KCciXHUwMDE4XHUwMDE5XHUwMDFhXHUwMDFiXHUwMDFjXHUwMDFkXHUwMDFlXHUwMDFmIicpOyAv
LyBpbnZhbGlkIHN0cmluZyBjaGFyYWN0ZXJzIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9y
DQotICAgIH0NCi0gIGNhdGNoIChlKSB7DQotICAgICAgaWYgKGUubmFtZSA9PT0gJ1N5bnRheEVy
cm9yJykgcmV0dXJuIHRydWU7DQotICAgICAgfQ0KLSAgfSwNCi0gIA0KLSBwcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXEgKCkgew0KLSAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNPTi5wYXJz
ZSkmJiBKU09OLnBhcnNlKCciMTIzNCInKT09PSIxMjM0IjsNCi0gfQ0KLX0gKTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKK2lkOiAiMTUuMTIuMS4xLWc0LTQiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS4xMi8xNS4xMi4xLzI1LjEyLjEuMS8xNS4xMi4xLjEtZzQtNC5qcyIsCisKK2Rlc2NyaXB0
aW9uOiAiVGhlIEpTT04gbGV4aWNhbCBncmFtbWVyIGRvZXMgbm90IGFsbG93IGEgSlNPTlN0cmlu
Z0NoYXJhY3RlciB0byBiZSBhbnkgb2YgdGhlIFVuaWNvZGUgY2hhcmFjdGVycyBVKzAwMTggdGhy
dSBVKzAwMUYiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdHJ5IHsKKyAgICBK
U09OLnBhcnNlKCciXHUwMDE4XHUwMDE5XHUwMDFhXHUwMDFiXHUwMDFjXHUwMDFkXHUwMDFlXHUw
MDFmIicpOyAvLyBpbnZhbGlkIHN0cmluZyBjaGFyYWN0ZXJzIHNob3VsZCBwcm9kdWNlIGEgc3lu
dGF4IGVycm9yCisgICAgfQorICBjYXRjaCAoZSkgeworICAgICAgaWYgKGUubmFtZSA9PT0gJ1N5
bnRheEVycm9yJykgcmV0dXJuIHRydWU7CisgICAgICB9CisgIH0sCisgIAorIHByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcSAoKSB7CisgIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04ucGFy
c2UpJiYgSlNPTi5wYXJzZSgnIjEyMzQiJyk9PT0iMTIzNCI7CisgfQorfSApOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjEyLjEuMS1nNC00LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nNS0xLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4xMi4xLjEtZzUtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nNS0xLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDM2ICsxLDM2IEBACi0gICAgLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7DQotaWQ6ICIxNS4xMi4xLjEtZzUtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuMTIvMTUuMTIuMS8yNS4xMi4xLjEvMTUuMTIuMS4xLWc1LTEuanMiLA0KLQ0K
LWRlc2NyaXB0aW9uOiAiVGhlIEpTT04gbGV4aWNhbCBncmFtbWVyIGFsbG93cyBVbmljb2RlIGVz
Y2FwZSBzZXF1ZW5jZXMgaW4gYSBKU09OU3RyaW5nIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsNCi0gICAgcmV0dXJuIEpTT04ucGFyc2UoJyJcXHUwMDU4IicpPT09J1gnOyANCi0g
IH0sDQotICANCi0gcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsNCi0gIHJldHVybiBK
U09OICYmIGZuRXhpc3RzKEpTT04ucGFyc2UpJiYgJ1x1MDA1OCc9PT0nWCcgJiYgSlNPTi5wYXJz
ZSgnIjEyMzQiJyk9PT0iMTIzNCI7DQotIH0NCi19ICk7DQorICAgIC8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6
ICIxNS4xMi4xLjEtZzUtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1
LjEyLjEvMjUuMTIuMS4xLzE1LjEyLjEuMS1nNS0xLmpzIiwKKworZGVzY3JpcHRpb246ICJUaGUg
SlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzIFVuaWNvZGUgZXNjYXBlIHNlcXVlbmNlcyBpbiBh
IEpTT05TdHJpbmciLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgICByZXR1cm4g
SlNPTi5wYXJzZSgnIlxcdTAwNTgiJyk9PT0nWCc7IAorICB9LAorICAKKyBwcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXEgKCkgeworICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09OLnBhcnNl
KSYmICdcdTAwNTgnPT09J1gnICYmIEpTT04ucGFyc2UoJyIxMjM0IicpPT09IjEyMzQiOworIH0K
K30gKTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtZzUtMS5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4xMi4xLjEtZzUtMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMS4xLWc1LTIuanMJKHJldmlzaW9uIDE5OTU0OSkK
KysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4x
LjEtZzUtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MSArMSw0MSBAQAotICAgIC8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQot
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1F
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMTIuMS4xLWc1LTIiLA0KLQ0KLXBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjEvMjUuMTIuMS4xLzE1LjEyLjEu
MS1nNS0yLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkEgSlNPTlN0cmluZ0NoYXJhY3RlciBVbmlj
b2RlRXNjYXBlIG1heSBub3QgaGF2ZSBmZXdlciB0aGFuIDQgaGV4IGNoYXJhY3RlcnMiLA0KLQ0K
LXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgICB0cnkgew0KLSAgICAgICAgSlNPTi5w
YXJzZSgnIlxcdTAwNSInKSANCi0gICAgICAgfQ0KLSAgICAgY2F0Y2ggKGUpIHsNCi0gICAgICAg
IHJldHVybiBlLm5hbWU9PT0nU3ludGF4RXJyb3InDQotICAgICAgICB9DQotICB9LA0KLSAgDQot
IHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7DQotICByZXR1cm4gSlNPTiAmJiBmbkV4
aXN0cyhKU09OLnBhcnNlKSYmICdcdTAwNTgnPT09J1gnICYmIEpTT04ucGFyc2UoJyIxMjM0Iicp
PT09IjEyMzQiOw0KLSB9DQotfSApOw0KKyAgICAvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisv
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMTIuMS4x
LWc1LTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4xLzI1LjEy
LjEuMS8xNS4xMi4xLjEtZzUtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQSBKU09OU3RyaW5nQ2hh
cmFjdGVyIFVuaWNvZGVFc2NhcGUgbWF5IG5vdCBoYXZlIGZld2VyIHRoYW4gNCBoZXggY2hhcmFj
dGVycyIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgIHRyeSB7CisgICAgICAg
IEpTT04ucGFyc2UoJyJcXHUwMDUiJykgCisgICAgICAgfQorICAgICBjYXRjaCAoZSkgeworICAg
ICAgICByZXR1cm4gZS5uYW1lPT09J1N5bnRheEVycm9yJworICAgICAgICB9CisgIH0sCisgIAor
IHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7CisgIHJldHVybiBKU09OICYmIGZuRXhp
c3RzKEpTT04ucGFyc2UpJiYgJ1x1MDA1OCc9PT0nWCcgJiYgSlNPTi5wYXJzZSgnIjEyMzQiJyk9
PT0iMTIzNCI7CisgfQorfSApOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nNS0yLmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nNS0zLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtZzUtMy5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjEyLjEuMS1nNS0zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQxICsxLDQxIEBA
Ci0gICAgLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8v
IA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQot
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0v
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0K
LS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4xMi4xLjEt
ZzUtMyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMS8yNS4x
Mi4xLjEvMTUuMTIuMS4xLWc1LTMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQSBKU09OU3RyaW5n
Q2hhcmFjdGVyIFVuaWNvZGVFc2NhcGUgbWF5IG5vdCBpbmNsdWRlIGFueSBub249aGV4IGNoYXJh
Y3RlcnMiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgICB0cnkgew0KLSAg
ICAgICAgSlNPTi5wYXJzZSgnIlxcdTBYNTAiJykgDQotICAgICAgIH0NCi0gICAgIGNhdGNoIChl
KSB7DQotICAgICAgICByZXR1cm4gZS5uYW1lPT09J1N5bnRheEVycm9yJw0KLSAgICAgICAgfQ0K
LSAgfSwNCi0gIA0KLSBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEgKCkgew0KLSAgcmV0dXJu
IEpTT04gJiYgZm5FeGlzdHMoSlNPTi5wYXJzZSkmJiAnXHUwMDU4Jz09PSdYJyAmJiBKU09OLnBh
cnNlKCciMTIzNCInKT09PSIxMjM0IjsNCi0gfQ0KLX0gKTsNCisgICAgLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7Citp
ZDogIjE1LjEyLjEuMS1nNS0zIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIv
MTUuMTIuMS8yNS4xMi4xLjEvMTUuMTIuMS4xLWc1LTMuanMiLAorCitkZXNjcmlwdGlvbjogIkEg
SlNPTlN0cmluZ0NoYXJhY3RlciBVbmljb2RlRXNjYXBlIG1heSBub3QgaW5jbHVkZSBhbnkgbm9u
PWhleCBjaGFyYWN0ZXJzIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgICAgdHJ5
IHsKKyAgICAgICAgSlNPTi5wYXJzZSgnIlxcdTBYNTAiJykgCisgICAgICAgfQorICAgICBjYXRj
aCAoZSkgeworICAgICAgICByZXR1cm4gZS5uYW1lPT09J1N5bnRheEVycm9yJworICAgICAgICB9
CisgIH0sCisgIAorIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7CisgIHJldHVybiBK
U09OICYmIGZuRXhpc3RzKEpTT04ucGFyc2UpJiYgJ1x1MDA1OCc9PT0nWCcgJiYgSlNPTi5wYXJz
ZSgnIjEyMzQiJyk9PT0iMTIzNCI7CisgfQorfSApOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nNS0z
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nNi0xLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEt
ZzYtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nNi0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDM2ICsxLDM2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4N
Ci0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1
LjEyLjEuMS1nNi0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4x
Mi4xLzI1LjEyLjEuMS8xNS4xMi4xLjEtZzYtMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJUaGUg
SlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICcvJyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0ZXIg
YWZ0ZXIgJ1wnIGluIGEgSlNPTlN0cmluZyIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotICAgIHJldHVybiBKU09OLnBhcnNlKCciXFwvIicpPT09Jy8nOyANCi0gIH0sDQotICAN
Ci0gcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsNCi0gIHJldHVybiBKU09OICYmIGZu
RXhpc3RzKEpTT04ucGFyc2UpJiYgSlNPTi5wYXJzZSgnIjEyMzQiJyk9PT0iMTIzNCI7DQotIH0N
Ci19ICk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjEyLjEuMS1nNi0xIiwKKworcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMS8yNS4xMi4xLjEvMTUuMTIuMS4xLWc2LTEu
anMiLAorCitkZXNjcmlwdGlvbjogIlRoZSBKU09OIGxleGljYWwgZ3JhbW1lciBhbGxvd3MgJy8n
IGFzIGEgSlNPTkVzY2FwZUNoYXJhY3RlciBhZnRlciAnXCcgaW4gYSBKU09OU3RyaW5nIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgICAgcmV0dXJuIEpTT04ucGFyc2UoJyJcXC8i
Jyk9PT0nLyc7IAorICB9LAorICAKKyBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEgKCkgewor
ICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09OLnBhcnNlKSYmIEpTT04ucGFyc2UoJyIxMjM0
IicpPT09IjEyMzQiOworIH0KK30gKTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtZzYtMS5qcwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtZzYtMi5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMS4xLWc2LTIuanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4xMi4xLjEtZzYtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzNiArMSwz
NiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8v
IA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQot
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0v
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0K
LS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4xMi4xLjEt
ZzYtMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMS8yNS4x
Mi4xLjEvMTUuMTIuMS4xLWc2LTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiVGhlIEpTT04gbGV4
aWNhbCBncmFtbWVyIGFsbG93cyAnXCcgYXMgYSBKU09ORXNjYXBlQ2hhcmFjdGVyIGFmdGVyICdc
JyBpbiBhIEpTT05TdHJpbmciLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAg
ICByZXR1cm4gSlNPTi5wYXJzZSgnIlxcXFwiJyk9PT0nXFwnOyANCi0gIH0sDQotICANCi0gcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsNCi0gIHJldHVybiBKU09OICYmIGZuRXhpc3Rz
KEpTT04ucGFyc2UpJiYgSlNPTi5wYXJzZSgnIjEyMzQiJyk9PT0iMTIzNCI7DQotIH0NCi19ICk7
DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisv
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjEyLjEuMS1nNi0yIiwKKworcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMS8yNS4xMi4xLjEvMTUuMTIuMS4xLWc2LTIuanMiLAor
CitkZXNjcmlwdGlvbjogIlRoZSBKU09OIGxleGljYWwgZ3JhbW1lciBhbGxvd3MgJ1wnIGFzIGEg
SlNPTkVzY2FwZUNoYXJhY3RlciBhZnRlciAnXCcgaW4gYSBKU09OU3RyaW5nIiwKKwordGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgICAgcmV0dXJuIEpTT04ucGFyc2UoJyJcXFxcIicpPT09
J1xcJzsgCisgIH0sCisgIAorIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7CisgIHJl
dHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04ucGFyc2UpJiYgSlNPTi5wYXJzZSgnIjEyMzQiJyk9
PT0iMTIzNCI7CisgfQorfSApOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nNi0yLmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nNi0zLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtZzYtMy5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjEyLjEuMS1nNi0zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM2ICsxLDM2IEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
DQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEyLjEuMS1nNi0z
IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4xLzI1LjEyLjEu
MS8xNS4xMi4xLjEtZzYtMy5qcyIsDQotDQotZGVzY3JpcHRpb246ICJUaGUgSlNPTiBsZXhpY2Fs
IGdyYW1tZXIgYWxsb3dzICdiJyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0ZXIgYWZ0ZXIgJ1wnIGlu
IGEgSlNPTlN0cmluZyIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICAgIHJl
dHVybiBKU09OLnBhcnNlKCciXFxiIicpPT09J1xiJzsgDQotICB9LA0KLSAgDQotIHByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7DQotICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09O
LnBhcnNlKSYmIEpTT04ucGFyc2UoJyIxMjM0IicpPT09IjEyMzQiOw0KLSB9DQotfSApOw0KKy8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggeworaWQ6ICIxNS4xMi4xLjEtZzYtMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjEyLzE1LjEyLjEvMjUuMTIuMS4xLzE1LjEyLjEuMS1nNi0zLmpzIiwKKworZGVz
Y3JpcHRpb246ICJUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICdiJyBhcyBhIEpTT05F
c2NhcGVDaGFyYWN0ZXIgYWZ0ZXIgJ1wnIGluIGEgSlNPTlN0cmluZyIsCisKK3Rlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgeworICAgIHJldHVybiBKU09OLnBhcnNlKCciXFxiIicpPT09J1xiJzsg
CisgIH0sCisgIAorIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7CisgIHJldHVybiBK
U09OICYmIGZuRXhpc3RzKEpTT04ucGFyc2UpJiYgSlNPTi5wYXJzZSgnIjEyMzQiJyk9PT0iMTIz
NCI7CisgfQorfSApOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nNi0zLmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjEyLjEuMS1nNi00LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtZzYtNC5qcwkocmV2aXNpb24g
MTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjEyLjEuMS1nNi00LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM2ICsxLDM2IEBACi0vLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
Rg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEyLjEuMS1nNi00IiwNCi0N
Ci1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4xLzI1LjEyLjEuMS8xNS4x
Mi4xLjEtZzYtNC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJUaGUgSlNPTiBsZXhpY2FsIGdyYW1t
ZXIgYWxsb3dzICdmJyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0ZXIgYWZ0ZXIgJ1wnIGluIGEgSlNP
TlN0cmluZyIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICAgIHJldHVybiBK
U09OLnBhcnNlKCciXFxmIicpPT09J1xmJzsgDQotICB9LA0KLSAgDQotIHByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcSAoKSB7DQotICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09OLnBhcnNl
KSYmIEpTT04ucGFyc2UoJyIxMjM0IicpPT09IjEyMzQiOw0KLSB9DQotfSApOw0KKy8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAK
Ky8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggeworaWQ6ICIxNS4xMi4xLjEtZzYtNCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjEyLzE1LjEyLjEvMjUuMTIuMS4xLzE1LjEyLjEuMS1nNi00LmpzIiwKKworZGVzY3JpcHRp
b246ICJUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICdmJyBhcyBhIEpTT05Fc2NhcGVD
aGFyYWN0ZXIgYWZ0ZXIgJ1wnIGluIGEgSlNPTlN0cmluZyIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeworICAgIHJldHVybiBKU09OLnBhcnNlKCciXFxmIicpPT09J1xmJzsgCisgIH0s
CisgIAorIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7CisgIHJldHVybiBKU09OICYm
IGZuRXhpc3RzKEpTT04ucGFyc2UpJiYgSlNPTi5wYXJzZSgnIjEyMzQiJyk9PT0iMTIzNCI7Cisg
fQorfSApOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nNi00LmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjEyLjEuMS1nNi01LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtZzYtNS5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEy
LjEuMS1nNi01LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM2ICsxLDM2IEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEyLjEuMS1nNi01IiwNCi0NCi1wYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4xLzI1LjEyLjEuMS8xNS4xMi4xLjEt
ZzYtNS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxs
b3dzICduJyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0ZXIgYWZ0ZXIgJ1wnIGluIGEgSlNPTlN0cmlu
ZyIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICAgIHJldHVybiBKU09OLnBh
cnNlKCciXFxuIicpPT09J1xuJzsgDQotICB9LA0KLSAgDQotIHByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcSAoKSB7DQotICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09OLnBhcnNlKSYmIEpT
T04ucGFyc2UoJyIxMjM0IicpPT09IjEyMzQiOw0KLSB9DQotfSApOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxNS4xMi4xLjEtZzYtNSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEy
LzE1LjEyLjEvMjUuMTIuMS4xLzE1LjEyLjEuMS1nNi01LmpzIiwKKworZGVzY3JpcHRpb246ICJU
aGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICduJyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0
ZXIgYWZ0ZXIgJ1wnIGluIGEgSlNPTlN0cmluZyIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgeworICAgIHJldHVybiBKU09OLnBhcnNlKCciXFxuIicpPT09J1xuJzsgCisgIH0sCisgIAor
IHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7CisgIHJldHVybiBKU09OICYmIGZuRXhp
c3RzKEpTT04ucGFyc2UpJiYgSlNPTi5wYXJzZSgnIjEyMzQiJyk9PT0iMTIzNCI7CisgfQorfSAp
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nNi01LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEy
LjEuMS1nNi02LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4xLjEtZzYtNi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1n
Ni02LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM2ICsxLDM2IEBACi0vLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0K
LS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
Uw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEyLjEuMS1nNi02IiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4xLzI1LjEyLjEuMS8xNS4xMi4xLjEtZzYtNi5q
cyIsDQotDQotZGVzY3JpcHRpb246ICJUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICdy
JyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0ZXIgYWZ0ZXIgJ1wnIGluIGEgSlNPTlN0cmluZyIsDQot
DQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICAgIHJldHVybiBKU09OLnBhcnNlKCci
XFxyIicpPT09J1xyJzsgDQotICB9LA0KLSAgDQotIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cSAoKSB7DQotICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09OLnBhcnNlKSYmIEpTT04ucGFy
c2UoJyIxMjM0IicpPT09IjEyMzQiOw0KLSB9DQotfSApOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisv
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIx
NS4xMi4xLjEtZzYtNiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEy
LjEvMjUuMTIuMS4xLzE1LjEyLjEuMS1nNi02LmpzIiwKKworZGVzY3JpcHRpb246ICJUaGUgSlNP
TiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICdyJyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0ZXIgYWZ0
ZXIgJ1wnIGluIGEgSlNPTlN0cmluZyIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewor
ICAgIHJldHVybiBKU09OLnBhcnNlKCciXFxyIicpPT09J1xyJzsgCisgIH0sCisgIAorIHByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7CisgIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpT
T04ucGFyc2UpJiYgSlNPTi5wYXJzZSgnIjEyMzQiJyk9PT0iMTIzNCI7CisgfQorfSApOwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjEyLjEuMS1nNi02LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1n
Ni03LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4xMi4xLjEtZzYtNy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjEuMS1nNi03Lmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDM2ICsxLDM2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsNCi1pZDogIjE1LjEyLjEuMS1nNi03IiwNCi0NCi1wYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4xLzI1LjEyLjEuMS8xNS4xMi4xLjEtZzYtNy5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICd0JyBhcyBh
IEpTT05Fc2NhcGVDaGFyYWN0ZXIgYWZ0ZXIgJ1wnIGluIGEgSlNPTlN0cmluZyIsDQotDQotdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICAgIHJldHVybiBKU09OLnBhcnNlKCciXFx0Iicp
PT09J1x0JzsgDQotICB9LA0KLSAgDQotIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7
DQotICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09OLnBhcnNlKSYmIEpTT04ucGFyc2UoJyIx
MjM0IicpPT09IjEyMzQiOw0KLSB9DQotfSApOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IK
Ky8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4xMi4x
LjEtZzYtNyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjEvMjUu
MTIuMS4xLzE1LjEyLjEuMS1nNi03LmpzIiwKKworZGVzY3JpcHRpb246ICJUaGUgSlNPTiBsZXhp
Y2FsIGdyYW1tZXIgYWxsb3dzICd0JyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0ZXIgYWZ0ZXIgJ1wn
IGluIGEgSlNPTlN0cmluZyIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgIHJl
dHVybiBKU09OLnBhcnNlKCciXFx0IicpPT09J1x0JzsgCisgIH0sCisgIAorIHByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcSAoKSB7CisgIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04ucGFy
c2UpJiYgSlNPTi5wYXJzZSgnIjEyMzQiJyk9PT0iMTIzNCI7CisgfQorfSApOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjEyLjEuMS1nNi03LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjItMC0xLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4xMi4yLTAtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjItMC0xLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDU2ICsxLDU2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IN
Ci0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0v
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gDQotDQotLyoNCi1UaGlzIHRlc3Qgc2hvdWxkIGJlIHJ1biB3aXRo
b3V0IGFueSBidWlsdC1pbnMgYmVpbmcgYWRkZWQvYXVnbWVudGVkLg0KLVRoZSBuYW1lIEpTT04g
bXVzdCBiZSBib3VuZCB0byBhbiBvYmplY3QuDQotDQotU2VjdGlvbiAxNSBzYXlzIHRoYXQgZXZl
cnkgYnVpbHQtaW4gRnVuY3Rpb24gb2JqZWN0IGRlc2NyaWJlZCBpbiB0aGlzDQotc2VjdGlvbiCX
IHdoZXRoZXIgYXMgYSBjb25zdHJ1Y3RvciwgYW4gb3JkaW5hcnkgZnVuY3Rpb24sIG9yIGJvdGgg
lyBoYXMNCi1hIGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhbiBpbnRlZ2VyLiBVbmxl
c3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwNCi10aGlzIHZhbHVlIGlzIGVxdWFsIHRvIHRoZSBsYXJn
ZXN0IG51bWJlciBvZiBuYW1lZCBhcmd1bWVudHMgc2hvd24gaW4NCi10aGUgc2VjdGlvbiBoZWFk
aW5ncyBmb3IgdGhlIGZ1bmN0aW9uIGRlc2NyaXB0aW9uLCBpbmNsdWRpbmcgb3B0aW9uYWwNCi1w
YXJhbWV0ZXJzLg0KLQ0KLVRoaXMgZGVmYXVsdCBhcHBsaWVzIHRvIEpTT04ucGFyc2UsIGFuZCBp
dCBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCi10YWtpbmcgMiBwYXJhbWV0ZXJzLg0KLSovDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEyLjItMC0xIiwNCi0N
Ci1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4yLzE1LjEyLjItMC0xLmpz
IiwNCi0NCi1kZXNjcmlwdGlvbjogIkpTT04ucGFyc2UgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9u
IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBmID0gSlNPTi5wYXJz
ZTsNCi0NCi0gIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCi0gICAgcmV0dXJuIHRy
dWU7DQotICB9DQotIH0sDQotDQotIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7DQot
ICByZXR1cm4gSlNPTiAhPT0gdW5kZWZpbmVkOw0KLSAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworLyoKK1RoaXMgdGVzdCBzaG91bGQgYmUgcnVu
IHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuCitUaGUgbmFtZSBK
U09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0LgorCitTZWN0aW9uIDE1IHNheXMgdGhhdCBl
dmVyeSBidWlsdC1pbiBGdW5jdGlvbiBvYmplY3QgZGVzY3JpYmVkIGluIHRoaXMKK3NlY3Rpb24g
lyB3aGV0aGVyIGFzIGEgY29uc3RydWN0b3IsIGFuIG9yZGluYXJ5IGZ1bmN0aW9uLCBvciBib3Ro
IJcgaGFzCithIGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhbiBpbnRlZ2VyLiBVbmxl
c3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwKK3RoaXMgdmFsdWUgaXMgZXF1YWwgdG8gdGhlIGxhcmdl
c3QgbnVtYmVyIG9mIG5hbWVkIGFyZ3VtZW50cyBzaG93biBpbgordGhlIHNlY3Rpb24gaGVhZGlu
Z3MgZm9yIHRoZSBmdW5jdGlvbiBkZXNjcmlwdGlvbiwgaW5jbHVkaW5nIG9wdGlvbmFsCitwYXJh
bWV0ZXJzLgorCitUaGlzIGRlZmF1bHQgYXBwbGllcyB0byBKU09OLnBhcnNlLCBhbmQgaXQgbXVz
dCBleGlzdCBhcyBhIGZ1bmN0aW9uCit0YWtpbmcgMiBwYXJhbWV0ZXJzLgorKi8KKworCitFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4xMi4yLTAtMSIsCisKK3BhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjIvMTUuMTIuMi0wLTEuanMiLAorCitkZXNjcmlw
dGlvbjogIkpTT04ucGFyc2UgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBmID0gSlNPTi5wYXJzZTsKKworICBpZiAodHlwZW9m
KGYpID09PSAiZnVuY3Rpb24iKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCisgcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsKKyAgcmV0dXJuIEpTT04gIT09IHVuZGVmaW5l
ZDsKKyAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4yLTAtMS5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4xMi4yLTAtMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMi0wLTIuanMJKHJldmlzaW9uIDE5OTU0OSkK
KysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4y
LTAtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1NiArMSw1NiBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLS8qDQotVGhpcyB0
ZXN0IHNob3VsZCBiZSBydW4gd2l0aG91dCBhbnkgYnVpbHQtaW5zIGJlaW5nIGFkZGVkL2F1Z21l
bnRlZC4NCi1UaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0Lg0KLQ0KLVNl
Y3Rpb24gMTUgc2F5cyB0aGF0IGV2ZXJ5IGJ1aWx0LWluIEZ1bmN0aW9uIG9iamVjdCBkZXNjcmli
ZWQgaW4gdGhpcw0KLXNlY3Rpb24glyB3aGV0aGVyIGFzIGEgY29uc3RydWN0b3IsIGFuIG9yZGlu
YXJ5IGZ1bmN0aW9uLCBvciBib3RoIJcgaGFzDQotYSBsZW5ndGggcHJvcGVydHkgd2hvc2UgdmFs
dWUgaXMgYW4gaW50ZWdlci4gVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsDQotdGhpcyB2YWx1
ZSBpcyBlcXVhbCB0byB0aGUgbGFyZ2VzdCBudW1iZXIgb2YgbmFtZWQgYXJndW1lbnRzIHNob3du
IGluDQotdGhlIHNlY3Rpb24gaGVhZGluZ3MgZm9yIHRoZSBmdW5jdGlvbiBkZXNjcmlwdGlvbiwg
aW5jbHVkaW5nIG9wdGlvbmFsDQotcGFyYW1ldGVycy4NCi0NCi1UaGlzIGRlZmF1bHQgYXBwbGll
cyB0byBKU09OLnBhcnNlLCBhbmQgaXQgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQotdGFraW5n
IDIgcGFyYW1ldGVycy4NCi0qLw0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQot
aWQ6ICIxNS4xMi4yLTAtMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIv
MTUuMTIuMi8xNS4xMi4yLTAtMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJKU09OLnBhcnNlIG11
c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMiBwYXJhbWV0ZXJzIiwNCi0NCi10ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBmID0gSlNPTi5wYXJzZTsNCi0NCi0gIGlmICh0
eXBlb2YoZikgPT09ICJmdW5jdGlvbiIgJiYgZi5sZW5ndGggPT09IDIpIHsNCi0gICAgcmV0dXJu
IHRydWU7DQotICB9DQotIH0sDQotDQotIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7
DQotICByZXR1cm4gSlNPTiAhPT0gdW5kZWZpbmVkOw0KLSAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAK
Ky8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworLyoKK1RoaXMgdGVzdCBzaG91bGQgYmUg
cnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuCitUaGUgbmFt
ZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0LgorCitTZWN0aW9uIDE1IHNheXMgdGhh
dCBldmVyeSBidWlsdC1pbiBGdW5jdGlvbiBvYmplY3QgZGVzY3JpYmVkIGluIHRoaXMKK3NlY3Rp
b24glyB3aGV0aGVyIGFzIGEgY29uc3RydWN0b3IsIGFuIG9yZGluYXJ5IGZ1bmN0aW9uLCBvciBi
b3RoIJcgaGFzCithIGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhbiBpbnRlZ2VyLiBV
bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwKK3RoaXMgdmFsdWUgaXMgZXF1YWwgdG8gdGhlIGxh
cmdlc3QgbnVtYmVyIG9mIG5hbWVkIGFyZ3VtZW50cyBzaG93biBpbgordGhlIHNlY3Rpb24gaGVh
ZGluZ3MgZm9yIHRoZSBmdW5jdGlvbiBkZXNjcmlwdGlvbiwgaW5jbHVkaW5nIG9wdGlvbmFsCitw
YXJhbWV0ZXJzLgorCitUaGlzIGRlZmF1bHQgYXBwbGllcyB0byBKU09OLnBhcnNlLCBhbmQgaXQg
bXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uCit0YWtpbmcgMiBwYXJhbWV0ZXJzLgorKi8KKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4xMi4yLTAtMiIsCisKK3BhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjIvMTUuMTIuMi0wLTIuanMiLAorCitkZXNj
cmlwdGlvbjogIkpTT04ucGFyc2UgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAyIHBh
cmFtZXRlcnMiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGYgPSBKU09O
LnBhcnNlOworCisgIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIgJiYgZi5sZW5ndGggPT09
IDIpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKKyBwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXEgKCkgeworICByZXR1cm4gSlNPTiAhPT0gdW5kZWZpbmVkOworICB9CisKK30pOwoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjEyLjItMC0yLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjItMC0z
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4xMi4yLTAtMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjItMC0zLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDQ1ICsxLDQ1IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
Ci0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotLyoNCi1UaGlzIHRlc3Qgc2hvdWxkIGJlIHJ1
biB3aXRob3V0IGFueSBidWlsdC1pbnMgYmVpbmcgYWRkZWQvYXVnbWVudGVkLg0KLVRoZSBpbml0
aWFsIHZhbHVlIG9mIFtbQ29uZmlndXJhYmxlXV0gb24gSlNPTiBpcyB0cnVlLiBUaGlzIG1lYW5z
IHdlDQotc2hvdWxkIGJlIGFibGUgdG8gZGVsZXRlICg4LjYuMi41KSB0aGUgc3RyaW5naWZ5IGFu
ZCBwYXJzZSBwcm9wZXJ0aWVzLg0KLSovDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsNCi1pZDogIjE1LjEyLjItMC0zIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS4xMi8xNS4xMi4yLzE1LjEyLjItMC0zLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkpTT04ucGFy
c2UgbXVzdCBiZSBkZWxldGFibGUgKGNvbmZpZ3VyYWJsZSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgew0KLSAgdmFyIG8gPSBKU09OOw0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJwYXJzZSIpOw0KLSAgcmV0dXJuIGRlc2MuY29uZmln
dXJhYmxlID09PSB0cnVlOw0KLSB9LA0KLSANCi0gcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVx
ICgpIHsNCi0gIHJldHVybiBKU09OICYmIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IpOw0KLSAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKworLyoKK1RoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0
LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuCitUaGUgaW5pdGlhbCB2YWx1ZSBvZiBbW0NvbmZp
Z3VyYWJsZV1dIG9uIEpTT04gaXMgdHJ1ZS4gVGhpcyBtZWFucyB3ZQorc2hvdWxkIGJlIGFibGUg
dG8gZGVsZXRlICg4LjYuMi41KSB0aGUgc3RyaW5naWZ5IGFuZCBwYXJzZSBwcm9wZXJ0aWVzLgor
Ki8KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4xMi4yLTAtMyIsCisK
K3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjIvMTUuMTIuMi0wLTMuanMi
LAorCitkZXNjcmlwdGlvbjogIkpTT04ucGFyc2UgbXVzdCBiZSBkZWxldGFibGUgKGNvbmZpZ3Vy
YWJsZSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIG8gPSBKU09OOwor
ICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgInBhcnNlIik7
CisgIHJldHVybiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZTsKKyB9LAorIAorIHByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7CisgIHJldHVybiBKU09OICYmIGZuRXhpc3RzKE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEy
LjItMC0zLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIwor
TEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtMC0xLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4z
LTAtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtMC0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU2
ICsxLDU2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAN
Ci0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0v
Ly8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gDQotDQotLyoNCi1UaGlzIHRlc3Qgc2hvdWxkIGJlIHJ1biB3aXRob3V0IGFueSBi
dWlsdC1pbnMgYmVpbmcgYWRkZWQvYXVnbWVudGVkLg0KLVRoZSBuYW1lIEpTT04gbXVzdCBiZSBi
b3VuZCB0byBhbiBvYmplY3QuDQotDQotU2VjdGlvbiAxNSBzYXlzIHRoYXQgZXZlcnkgYnVpbHQt
aW4gRnVuY3Rpb24gb2JqZWN0IGRlc2NyaWJlZCBpbiB0aGlzDQotc2VjdGlvbiCXIHdoZXRoZXIg
YXMgYSBjb25zdHJ1Y3RvciwgYW4gb3JkaW5hcnkgZnVuY3Rpb24sIG9yIGJvdGgglyBoYXMNCi1h
IGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhbiBpbnRlZ2VyLiBVbmxlc3Mgb3RoZXJ3
aXNlIHNwZWNpZmllZCwNCi10aGlzIHZhbHVlIGlzIGVxdWFsIHRvIHRoZSBsYXJnZXN0IG51bWJl
ciBvZiBuYW1lZCBhcmd1bWVudHMgc2hvd24gaW4NCi10aGUgc2VjdGlvbiBoZWFkaW5ncyBmb3Ig
dGhlIGZ1bmN0aW9uIGRlc2NyaXB0aW9uLCBpbmNsdWRpbmcgb3B0aW9uYWwNCi1wYXJhbWV0ZXJz
Lg0KLQ0KLVRoaXMgZGVmYXVsdCBhcHBsaWVzIHRvIEpTT04uc3RyaW5naWZ5LCBhbmQgaXQgbXVz
dCBleGlzdCBhcyBhIGZ1bmN0aW9uDQotdGFraW5nIDMgcGFyYW1ldGVycy4NCi0qLw0KLQ0KLQ0K
LUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4xMi4zLTAtMSIsDQotDQotcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTAtMS5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJKU09OLnN0cmluZ2lmeSBtdXN0IGV4aXN0IGFzIGJlIGEgZnVuY3Rp
b24iLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGYgPSBKU09OLnN0
cmluZ2lmeTsNCi0NCi0gIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCi0gICAgcmV0
dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAo
KSB7DQotICByZXR1cm4gSlNPTiAhPT0gdW5kZWZpbmVkOw0KLSAgfQ0KLQ0KLX0pOw0KKy8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisv
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworLyoKK1RoaXMgdGVzdCBzaG91bGQg
YmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuCitUaGUg
bmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0LgorCitTZWN0aW9uIDE1IHNheXMg
dGhhdCBldmVyeSBidWlsdC1pbiBGdW5jdGlvbiBvYmplY3QgZGVzY3JpYmVkIGluIHRoaXMKK3Nl
Y3Rpb24glyB3aGV0aGVyIGFzIGEgY29uc3RydWN0b3IsIGFuIG9yZGluYXJ5IGZ1bmN0aW9uLCBv
ciBib3RoIJcgaGFzCithIGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhbiBpbnRlZ2Vy
LiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwKK3RoaXMgdmFsdWUgaXMgZXF1YWwgdG8gdGhl
IGxhcmdlc3QgbnVtYmVyIG9mIG5hbWVkIGFyZ3VtZW50cyBzaG93biBpbgordGhlIHNlY3Rpb24g
aGVhZGluZ3MgZm9yIHRoZSBmdW5jdGlvbiBkZXNjcmlwdGlvbiwgaW5jbHVkaW5nIG9wdGlvbmFs
CitwYXJhbWV0ZXJzLgorCitUaGlzIGRlZmF1bHQgYXBwbGllcyB0byBKU09OLnN0cmluZ2lmeSwg
YW5kIGl0IG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbgordGFraW5nIDMgcGFyYW1ldGVycy4KKyov
CisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMTIuMy0wLTEiLAorCitw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMC0xLmpzIiwK
KworZGVzY3JpcHRpb246ICJKU09OLnN0cmluZ2lmeSBtdXN0IGV4aXN0IGFzIGJlIGEgZnVuY3Rp
b24iLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGYgPSBKU09OLnN0cmlu
Z2lmeTsKKworICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7CisgICAgcmV0dXJuIHRy
dWU7CisgIH0KKyB9LAorCisgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsKKyAgcmV0
dXJuIEpTT04gIT09IHVuZGVmaW5lZDsKKyAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTAt
MS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTAtMi5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0wLTIu
anMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTAtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1NSArMSw1
NSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8v
IA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQot
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0v
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0K
LS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIA0KLQ0KLS8qDQotVGhpcyB0ZXN0IHNob3VsZCBiZSBydW4gd2l0aG91dCBhbnkgYnVpbHQt
aW5zIGJlaW5nIGFkZGVkL2F1Z21lbnRlZC4NCi1UaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQg
dG8gYW4gb2JqZWN0Lg0KLQ0KLVNlY3Rpb24gMTUgc2F5cyB0aGF0IGV2ZXJ5IGJ1aWx0LWluIEZ1
bmN0aW9uIG9iamVjdCBkZXNjcmliZWQgaW4gdGhpcw0KLXNlY3Rpb24glyB3aGV0aGVyIGFzIGEg
Y29uc3RydWN0b3IsIGFuIG9yZGluYXJ5IGZ1bmN0aW9uLCBvciBib3RoIJcgaGFzDQotYSBsZW5n
dGggcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYW4gaW50ZWdlci4gVW5sZXNzIG90aGVyd2lzZSBz
cGVjaWZpZWQsDQotdGhpcyB2YWx1ZSBpcyBlcXVhbCB0byB0aGUgbGFyZ2VzdCBudW1iZXIgb2Yg
bmFtZWQgYXJndW1lbnRzIHNob3duIGluDQotdGhlIHNlY3Rpb24gaGVhZGluZ3MgZm9yIHRoZSBm
dW5jdGlvbiBkZXNjcmlwdGlvbiwgaW5jbHVkaW5nIG9wdGlvbmFsDQotcGFyYW1ldGVycy4NCi0N
Ci1UaGlzIGRlZmF1bHQgYXBwbGllcyB0byBKU09OLnN0cmluZ2lmeSwgYW5kIGl0IG11c3QgZXhp
c3QgYXMgYSBmdW5jdGlvbg0KLXRha2luZyAzIHBhcmFtZXRlcnMuDQotKi8NCi0NCi0NCi1FUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMTIuMy0wLTIiLA0KLQ0KLXBhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMvMTUuMTIuMy0wLTIuanMiLA0KLQ0KLWRl
c2NyaXB0aW9uOiAiSlNPTi5zdHJpbmdpZnkgbXVzdCBleGlzdCBhcyBiZSBhIGZ1bmN0aW9uIHRh
a2luZyAzIHBhcmFtZXRlcnMiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAg
dmFyIGYgPSBKU09OLnN0cmluZ2lmeTsNCi0NCi0gIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlv
biIgJiYgZi5sZW5ndGggPT09IDMpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQot
DQotIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7DQotICByZXR1cm4gSlNPTiAhPT0g
dW5kZWZpbmVkOw0KLSAgfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKKworLyoKK1RoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlu
cyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuCitUaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8g
YW4gb2JqZWN0LgorCitTZWN0aW9uIDE1IHNheXMgdGhhdCBldmVyeSBidWlsdC1pbiBGdW5jdGlv
biBvYmplY3QgZGVzY3JpYmVkIGluIHRoaXMKK3NlY3Rpb24glyB3aGV0aGVyIGFzIGEgY29uc3Ry
dWN0b3IsIGFuIG9yZGluYXJ5IGZ1bmN0aW9uLCBvciBib3RoIJcgaGFzCithIGxlbmd0aCBwcm9w
ZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhbiBpbnRlZ2VyLiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmll
ZCwKK3RoaXMgdmFsdWUgaXMgZXF1YWwgdG8gdGhlIGxhcmdlc3QgbnVtYmVyIG9mIG5hbWVkIGFy
Z3VtZW50cyBzaG93biBpbgordGhlIHNlY3Rpb24gaGVhZGluZ3MgZm9yIHRoZSBmdW5jdGlvbiBk
ZXNjcmlwdGlvbiwgaW5jbHVkaW5nIG9wdGlvbmFsCitwYXJhbWV0ZXJzLgorCitUaGlzIGRlZmF1
bHQgYXBwbGllcyB0byBKU09OLnN0cmluZ2lmeSwgYW5kIGl0IG11c3QgZXhpc3QgYXMgYSBmdW5j
dGlvbgordGFraW5nIDMgcGFyYW1ldGVycy4KKyovCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKK2lkOiAiMTUuMTIuMy0wLTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS4xMi8xNS4xMi4zLzE1LjEyLjMtMC0yLmpzIiwKKworZGVzY3JpcHRpb246ICJKU09OLnN0cmlu
Z2lmeSBtdXN0IGV4aXN0IGFzIGJlIGEgZnVuY3Rpb24gdGFraW5nIDMgcGFyYW1ldGVycyIsCisK
K3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZiA9IEpTT04uc3RyaW5naWZ5Owor
CisgIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIgJiYgZi5sZW5ndGggPT09IDMpIHsKKyAg
ICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKKyBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEg
KCkgeworICByZXR1cm4gSlNPTiAhPT0gdW5kZWZpbmVkOworICB9Cit9KTsKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4xMi4zLTAtMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTAtMy5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
MTIuMy0wLTMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTAtMy5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSw0NiArMSw0NiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIA0KLQ0KLS8qDQotVGhpcyB0ZXN0IHNob3VsZCBiZSBydW4gd2l0aG91dCBh
bnkgYnVpbHQtaW5zIGJlaW5nIGFkZGVkL2F1Z21lbnRlZC4NCi1UaGUgaW5pdGlhbCB2YWx1ZSBv
ZiBbW0NvbmZpZ3VyYWJsZV1dIG9uIEpTT04gaXMgdHJ1ZS4gVGhpcyBtZWFucyB3ZQ0KLXNob3Vs
ZCBiZSBhYmxlIHRvIGRlbGV0ZSAoOC42LjIuNSkgdGhlIHN0cmluZ2lmeSBhbmQgcGFyc2UgcHJv
cGVydGllcy4NCi0qLw0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIx
NS4xMi4zLTAtMyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIu
My8xNS4xMi4zLTAtMy5qcyIsDQotDQotZGVzY3JpcHRpb246ICJKU09OLnN0cmluZ2lmeSBtdXN0
IGJlIGRlbGV0YWJsZSAoY29uZmlndXJhYmxlKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7DQotICB2YXIgbyA9IEpTT047DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IobywgInN0cmluZ2lmeSIpOw0KLSAgaWYgKGRlc2MuY29uZmlndXJhYmxl
ID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLSBwcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXEgKCkgew0KLSAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotICB9DQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisvKgorVGhpcyB0ZXN0IHNob3VsZCBiZSBydW4g
d2l0aG91dCBhbnkgYnVpbHQtaW5zIGJlaW5nIGFkZGVkL2F1Z21lbnRlZC4KK1RoZSBpbml0aWFs
IHZhbHVlIG9mIFtbQ29uZmlndXJhYmxlXV0gb24gSlNPTiBpcyB0cnVlLiBUaGlzIG1lYW5zIHdl
CitzaG91bGQgYmUgYWJsZSB0byBkZWxldGUgKDguNi4yLjUpIHRoZSBzdHJpbmdpZnkgYW5kIHBh
cnNlIHByb3BlcnRpZXMuCisqLworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDog
IjE1LjEyLjMtMC0zIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIu
My8xNS4xMi4zLTAtMy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiSlNPTi5zdHJpbmdpZnkgbXVzdCBi
ZSBkZWxldGFibGUgKGNvbmZpZ3VyYWJsZSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsKKyAgdmFyIG8gPSBKU09OOworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IobywgInN0cmluZ2lmeSIpOworICBpZiAoZGVzYy5jb25maWd1cmFibGUgPT09IHRy
dWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKKyBwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXEgKCkgeworICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKTsKKyAgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0wLTMuanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0xMS0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTExLTEuanMJKHJl
dmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4xMi4zLTExLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzYgKzEsMzYgQEAK
LS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0v
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAN
Ci0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMTIuMy0xMS0xIiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEt
MS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJKU09OLnN0cmluZ2lmeSh1bmRlZmluZWQpIHJldHVy
bnMgdW5kZWZpbmVkIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHJldHVy
biBKU09OLnN0cmluZ2lmeSh1bmRlZmluZWQpID09PSB1bmRlZmluZWQ7DQotICB9LA0KLSAgDQot
IHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7DQotICByZXR1cm4gSlNPTiAmJiBmbkV4
aXN0cyhKU09OLnN0cmluZ2lmeSk7DQotIH0NCi19ICk7DQorLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
CisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1
LjEyLjMtMTEtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMv
MTUuMTIuMy0xMS0xLmpzIiwKKworZGVzY3JpcHRpb246ICJKU09OLnN0cmluZ2lmeSh1bmRlZmlu
ZWQpIHJldHVybnMgdW5kZWZpbmVkIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7Cisg
IHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmRlZmluZWQpID09PSB1bmRlZmluZWQ7CisgIH0sCisg
IAorIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7CisgIHJldHVybiBKU09OICYmIGZu
RXhpc3RzKEpTT04uc3RyaW5naWZ5KTsKKyB9Cit9ICk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0xMS0x
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtMTEtMTAuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtMTEt
MTAuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTExLTEwLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM2
ICsxLDM2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAN
Ci0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0v
Ly8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEy
LjMtMTEtMTAiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMv
MTUuMTIuMy0xMS0xMC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBIEpTT04uc3RyaW5naWZ5IHJl
cGxhY2VyIGZ1bmN0aW9uIGFwcGxpZWQgdG8gYSB0b3AgbGV2ZWwgc2NhbGFyIHZhbHVlIGNhbiBy
ZXR1cm4gdW5kZWZpbmVkLiIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBy
ZXR1cm4gSlNPTi5zdHJpbmdpZnkoNDIsIGZ1bmN0aW9uKGssIHYpIHsgcmV0dXJuIHVuZGVmaW5l
ZCB9KSA9PT0gdW5kZWZpbmVkOw0KLSAgfSwNCi0gIA0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcSAoKSB7DQotICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09OLnN0cmluZ2lmeSk7DQot
IH0NCi19ICk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
CisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
CisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjEyLjMtMTEtMTAiLAorCitwYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtMTAuanMiLAorCitk
ZXNjcmlwdGlvbjogIkEgSlNPTi5zdHJpbmdpZnkgcmVwbGFjZXIgZnVuY3Rpb24gYXBwbGllZCB0
byBhIHRvcCBsZXZlbCBzY2FsYXIgdmFsdWUgY2FuIHJldHVybiB1bmRlZmluZWQuIiwKKwordGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHJldHVybiBKU09OLnN0cmluZ2lmeSg0MiwgZnVu
Y3Rpb24oaywgdikgeyByZXR1cm4gdW5kZWZpbmVkIH0pID09PSB1bmRlZmluZWQ7CisgIH0sCisg
IAorcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsKKyAgcmV0dXJuIEpTT04gJiYgZm5F
eGlzdHMoSlNPTi5zdHJpbmdpZnkpOworIH0KK30gKTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTExLTEw
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtMTEtMTEuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtMTEt
MTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTExLTExLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM2
ICsxLDM2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAN
Ci0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0v
Ly8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEy
LjMtMTEtMTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMv
MTUuMTIuMy0xMS0xMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBIEpTT04uc3RyaW5naWZ5IHJl
cGxhY2VyIGZ1bmN0aW9uIGFwcGxpZWQgdG8gYSB0b3AgbGV2ZWwgT2JqZWN0IGNhbiByZXR1cm4g
dW5kZWZpbmVkLiIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICByZXR1cm4g
SlNPTi5zdHJpbmdpZnkoe3Byb3A6MX0sIGZ1bmN0aW9uKGssIHYpIHsgcmV0dXJuIHVuZGVmaW5l
ZCB9KSA9PT0gdW5kZWZpbmVkOw0KLSAgfSwNCi0gIA0KLSBwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXEgKCkgew0KLSAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNPTi5zdHJpbmdpZnkpOw0K
LSB9DQotfSApOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4xMi4zLTExLTExIiwKKworcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTExLmpzIiwKKwor
ZGVzY3JpcHRpb246ICJBIEpTT04uc3RyaW5naWZ5IHJlcGxhY2VyIGZ1bmN0aW9uIGFwcGxpZWQg
dG8gYSB0b3AgbGV2ZWwgT2JqZWN0IGNhbiByZXR1cm4gdW5kZWZpbmVkLiIsCisKK3Rlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgeworICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoe3Byb3A6MX0sIGZ1
bmN0aW9uKGssIHYpIHsgcmV0dXJuIHVuZGVmaW5lZCB9KSA9PT0gdW5kZWZpbmVkOworICB9LAor
ICAKKyBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEgKCkgeworICByZXR1cm4gSlNPTiAmJiBm
bkV4aXN0cyhKU09OLnN0cmluZ2lmeSk7CisgfQorfSApOwoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtMTEt
MTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0xMS0xMi5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0x
MS0xMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtMTEtMTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
MzYgKzEsMzYgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUu
MTIuMy0xMS0xMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIu
My8xNS4xMi4zLTExLTEyLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkEgSlNPTi5zdHJpbmdpZnkg
cmVwbGFjZXIgZnVuY3Rpb24gYXBwbGllZCB0byBhIHRvcCBsZXZlbCBzY2FsYXIgY2FuIHJldHVy
biBhbiBBcnJheS4iLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgcmV0dXJu
IEpTT04uc3RyaW5naWZ5KDQyLCBmdW5jdGlvbihrLCB2KSB7IHJldHVybiB2PT00MiA/WzQsMl06
diB9KSA9PT0gJ1s0LDJdJzsNCi0gIH0sDQotICANCi0gcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVxICgpIHsNCi0gIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04uc3RyaW5naWZ5KTsNCi0g
fQ0KLX0gKTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAK
Ky8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
CisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYK
Ky8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMTIuMy0xMS0xMiIsCisKK3BhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMvMTUuMTIuMy0xMS0xMi5qcyIsCisKK2Rl
c2NyaXB0aW9uOiAiQSBKU09OLnN0cmluZ2lmeSByZXBsYWNlciBmdW5jdGlvbiBhcHBsaWVkIHRv
IGEgdG9wIGxldmVsIHNjYWxhciBjYW4gcmV0dXJuIGFuIEFycmF5LiIsCisKK3Rlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgeworICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoNDIsIGZ1bmN0aW9uKGss
IHYpIHsgcmV0dXJuIHY9PTQyID9bNCwyXTp2IH0pID09PSAnWzQsMl0nOworICB9LAorICAKKyBw
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEgKCkgeworICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0
cyhKU09OLnN0cmluZ2lmeSk7CisgfQorfSApOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtMTEtMTIuanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0xMS0xMy5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0xMS0xMy5q
cwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjEyLjMtMTEtMTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzYgKzEs
MzYgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8v
LyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0K
LS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQot
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyAN
Ci0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMTIuMy0x
MS0xMyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMy8xNS4x
Mi4zLTExLTEzLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkEgSlNPTi5zdHJpbmdpZnkgcmVwbGFj
ZXIgZnVuY3Rpb24gYXBwbGllZCB0byBhIHRvcCBsZXZlbCBzY2FsYXIgY2FuIHJldHVybiBhbiBP
YmplY3QuIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHJldHVybiBKU09O
LnN0cmluZ2lmeSg0MiwgZnVuY3Rpb24oaywgdikgeyByZXR1cm4gdj09NDIgPyB7Zm9ydHk6Mn06
IHZ9KSA9PT0gJ3siZm9ydHkiOjJ9JzsNCi0gIH0sDQotICANCi0gcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVxICgpIHsNCi0gIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04uc3RyaW5naWZ5
KTsNCi0gfQ0KLX0gKTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8K
Ky8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAK
Ky8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisK
KworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMTIuMy0xMS0xMyIsCisKK3Bh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMvMTUuMTIuMy0xMS0xMy5qcyIs
CisKK2Rlc2NyaXB0aW9uOiAiQSBKU09OLnN0cmluZ2lmeSByZXBsYWNlciBmdW5jdGlvbiBhcHBs
aWVkIHRvIGEgdG9wIGxldmVsIHNjYWxhciBjYW4gcmV0dXJuIGFuIE9iamVjdC4iLAorCit0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KDQyLCBmdW5j
dGlvbihrLCB2KSB7IHJldHVybiB2PT00MiA/IHtmb3J0eToyfTogdn0pID09PSAneyJmb3J0eSI6
Mn0nOworICB9LAorICAKKyBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEgKCkgeworICByZXR1
cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09OLnN0cmluZ2lmeSk7CisgfQorfSApOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjEyLjMtMTEtMTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0xMS0xNC5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMTIuMy0xMS0xNC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtMTEtMTQuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMzYgKzEsMzYgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
Uw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0K
LS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
ew0KLWlkOiAiMTUuMTIuMy0xMS0xNCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTE0LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFwcGx5
aW5nIEpTT04uc3RyaW5naWZ5IHRvIGEgIGZ1bmN0aW9uIHJldHVybnMgdW5kZWZpbmVkLiIsDQot
DQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICByZXR1cm4gSlNPTi5zdHJpbmdpZnko
ZnVuY3Rpb24oKSB7fSkgPT09IHVuZGVmaW5lZDsNCi0gIH0sDQotICANCi0gcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVxICgpIHsNCi0gIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04uc3Ry
aW5naWZ5KTsNCi0gfQ0KLX0gKTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMTIuMy0xMS0xNCIs
CisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMvMTUuMTIuMy0xMS0x
NC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXBwbHlpbmcgSlNPTi5zdHJpbmdpZnkgdG8gYSAgZnVu
Y3Rpb24gcmV0dXJucyB1bmRlZmluZWQuIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
CisgIHJldHVybiBKU09OLnN0cmluZ2lmeShmdW5jdGlvbigpIHt9KSA9PT0gdW5kZWZpbmVkOwor
ICB9LAorICAKKyBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEgKCkgeworICByZXR1cm4gSlNP
TiAmJiBmbkV4aXN0cyhKU09OLnN0cmluZ2lmeSk7CisgfQorfSApOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEy
LjMtMTEtMTQuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0xMS0xNS5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
MTIuMy0xMS0xNS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtMTEtMTUuanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsMzYgKzEsMzYgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0K
LS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlk
OiAiMTUuMTIuMy0xMS0xNSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIv
MTUuMTIuMy8xNS4xMi4zLTExLTE1LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFwcGx5aW5nIEpT
T04uc3RyaW5naWZ5IHdpdGggYSByZXBsYWNlciBmdW5jdGlvbiB0byBhIGZ1bmN0aW9uIHJldHVy
bnMgdGhlIHJlcGxhY2VyIHZhbHVlLiIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
DQotICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoZnVuY3Rpb24oKSB7fSwgZnVuY3Rpb24oayx2KSB7
cmV0dXJuIDk5fSkgPT09ICc5OSc7DQotICB9LA0KLSAgDQotIHByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcSAoKSB7DQotICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09OLnN0cmluZ2lmeSk7
DQotIH0NCi19ICk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisv
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisv
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjEyLjMtMTEtMTUiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtMTUuanMiLAor
CitkZXNjcmlwdGlvbjogIkFwcGx5aW5nIEpTT04uc3RyaW5naWZ5IHdpdGggYSByZXBsYWNlciBm
dW5jdGlvbiB0byBhIGZ1bmN0aW9uIHJldHVybnMgdGhlIHJlcGxhY2VyIHZhbHVlLiIsCisKK3Rl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoZnVuY3Rp
b24oKSB7fSwgZnVuY3Rpb24oayx2KSB7cmV0dXJuIDk5fSkgPT09ICc5OSc7CisgIH0sCisgIAor
IHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7CisgIHJldHVybiBKU09OICYmIGZuRXhp
c3RzKEpTT04uc3RyaW5naWZ5KTsKKyB9Cit9ICk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0xMS0xNS5q
cwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTExLTIuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtMTEtMi5q
cwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjEyLjMtMTEtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzNiArMSwz
NiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8v
IA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQot
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0v
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0K
LS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4xMi4zLTEx
LTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMvMTUuMTIu
My0xMS0yLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkEgSlNPTi5zdHJpbmdpZnkgcmVwbGFjZXIg
ZnVuY3Rpb24gd29ya3MgaXMgYXBwbGllZCB0byBhIHRvcCBsZXZlbCB1bmRlZmluZWQgdmFsdWUu
IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHJldHVybiBKU09OLnN0cmlu
Z2lmeSh1bmRlZmluZWQsIGZ1bmN0aW9uKGssIHYpIHsgcmV0dXJuICJyZXBsYWNlbWVudCIgfSkg
PT09ICcicmVwbGFjZW1lbnQiJzsNCi0gIH0sDQotICANCi0gcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVxICgpIHsNCi0gIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04uc3RyaW5naWZ5KTsN
Ci0gfQ0KLX0gKTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKwor
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMTIuMy0xMS0yIiwKKworcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTIuanMiLAorCitk
ZXNjcmlwdGlvbjogIkEgSlNPTi5zdHJpbmdpZnkgcmVwbGFjZXIgZnVuY3Rpb24gd29ya3MgaXMg
YXBwbGllZCB0byBhIHRvcCBsZXZlbCB1bmRlZmluZWQgdmFsdWUuIiwKKwordGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7CisgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmRlZmluZWQsIGZ1bmN0
aW9uKGssIHYpIHsgcmV0dXJuICJyZXBsYWNlbWVudCIgfSkgPT09ICcicmVwbGFjZW1lbnQiJzsK
KyAgfSwKKyAgCisgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsKKyAgcmV0dXJuIEpT
T04gJiYgZm5FeGlzdHMoSlNPTi5zdHJpbmdpZnkpOworIH0KK30gKTsKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4x
Mi4zLTExLTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0xMS0zLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4x
Mi4zLTExLTMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTExLTMuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsMzYgKzEsMzYgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
Lg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAi
MTUuMTIuMy0xMS0zIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4x
Mi4zLzE1LjEyLjMtMTEtMy5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBIEpTT04uc3RyaW5naWZ5
IGNvcnJlY3RseSB3b3JrcyBvbiB0b3AgbGV2ZWwgc3RyaW5nIHZhbHVlcy4iLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KCJhIHN0cmlu
ZyIpID09PSAnImEgc3RyaW5nIic7DQotICB9LA0KLSAgDQotIHByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcSAoKSB7DQotICAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNPTi5zdHJpbmdpZnkp
Ow0KLSB9DQotfSApOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bwor
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAor
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKwor
CitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4xMi4zLTExLTMiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtMy5qcyIsCisK
K2Rlc2NyaXB0aW9uOiAiQSBKU09OLnN0cmluZ2lmeSBjb3JyZWN0bHkgd29ya3Mgb24gdG9wIGxl
dmVsIHN0cmluZyB2YWx1ZXMuIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHJl
dHVybiBKU09OLnN0cmluZ2lmeSgiYSBzdHJpbmciKSA9PT0gJyJhIHN0cmluZyInOworICB9LAor
ICAKKyBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEgKCkgeworICAgcmV0dXJuIEpTT04gJiYg
Zm5FeGlzdHMoSlNPTi5zdHJpbmdpZnkpOworIH0KK30gKTsKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTEx
LTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0xMS00LmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTEx
LTQuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTExLTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzYg
KzEsMzYgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMTIu
My0xMS00IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4zLzE1
LjEyLjMtMTEtNC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJKU09OLnN0cmluZ2lmeSBjb3JyZWN0
bHkgd29ya3Mgb24gdG9wIGxldmVsIE51bWJlciB2YWx1ZXMuIiwNCi0NCi10ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsNCi0gIHJldHVybiBKU09OLnN0cmluZ2lmeSgxMjMpID09PSAnMTIzJzsN
Ci0gIH0sDQotICANCi0gcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsNCi0gIHJldHVy
biBKU09OICYmIGZuRXhpc3RzKEpTT04uc3RyaW5naWZ5KTsNCi0gfQ0KLX0gKTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKK2lkOiAiMTUuMTIuMy0xMS00IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTQuanMiLAorCitkZXNjcmlwdGlvbjogIkpTT04uc3Ry
aW5naWZ5IGNvcnJlY3RseSB3b3JrcyBvbiB0b3AgbGV2ZWwgTnVtYmVyIHZhbHVlcy4iLAorCit0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KDEyMykg
PT09ICcxMjMnOworICB9LAorICAKKyBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEgKCkgewor
ICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09OLnN0cmluZ2lmeSk7CisgfQorfSApOwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjEyLjMtMTEtNC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMj
IC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTExLTUu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjEyLjMtMTEtNS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtMTEtNS5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzNiArMSwzNiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
DQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7DQotaWQ6ICIxNS4xMi4zLTExLTUiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjEyLzE1LjEyLjMvMTUuMTIuMy0xMS01LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkpTT04u
c3RyaW5naWZ5IGNvcnJlY3RseSB3b3JrcyBvbiB0b3AgbGV2ZWwgQm9vbGVhbiB2YWx1ZXMuIiwN
Ci0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHJldHVybiBKU09OLnN0cmluZ2lm
eSh0cnVlKSA9PT0gJ3RydWUnOw0KLSAgfSwNCi0gIA0KLSBwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXEgKCkgew0KLSAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNPTi5zdHJpbmdpZnkpOw0K
LSB9DQotfSApOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4xMi4zLTExLTUiLAorCitwYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtNS5qcyIsCisKK2Rl
c2NyaXB0aW9uOiAiSlNPTi5zdHJpbmdpZnkgY29ycmVjdGx5IHdvcmtzIG9uIHRvcCBsZXZlbCBC
b29sZWFuIHZhbHVlcy4iLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgcmV0dXJu
IEpTT04uc3RyaW5naWZ5KHRydWUpID09PSAndHJ1ZSc7CisgIH0sCisgIAorIHByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcSAoKSB7CisgIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04uc3Ry
aW5naWZ5KTsKKyB9Cit9ICk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0xMS01LmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjEyLjMtMTEtNi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0xMS02LmpzCShyZXZpc2lvbiAx
OTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMTIuMy0xMS02LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM2ICsxLDM2IEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQot
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEyLjMtMTEtNiIsDQotDQotcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTYuanMiLA0K
LQ0KLWRlc2NyaXB0aW9uOiAiSlNPTi5zdHJpbmdpZnkgY29ycmVjdGx5IHdvcmtzIG9uIHRvcCBs
ZXZlbCBudWxsIHZhbHVlcy4iLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAg
cmV0dXJuIEpTT04uc3RyaW5naWZ5KG51bGwpID09PSAnbnVsbCc7DQotICB9LA0KLSAgDQotIHBy
ZWNvZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsNCi0gIHJldHVybiBKU09OICYmIGZuRXhpc3Rz
KEpTT04uc3RyaW5naWZ5KTsNCi0gfQ0KLX0gKTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMTIu
My0xMS02IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMy8xNS4x
Mi4zLTExLTYuanMiLAorCitkZXNjcmlwdGlvbjogIkpTT04uc3RyaW5naWZ5IGNvcnJlY3RseSB3
b3JrcyBvbiB0b3AgbGV2ZWwgbnVsbCB2YWx1ZXMuIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7CisgIHJldHVybiBKU09OLnN0cmluZ2lmeShudWxsKSA9PT0gJ251bGwnOworICB9LAor
ICAKKyBwcmVjb2RpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7CisgIHJldHVybiBKU09OICYmIGZu
RXhpc3RzKEpTT04uc3RyaW5naWZ5KTsKKyB9Cit9ICk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0xMS02
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtMTEtNy5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0xMS03
LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0xMS03LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM2ICsx
LDM2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0v
Ly8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQN
Ci0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0K
LS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8g
DQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEyLjMt
MTEtNyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMy8xNS4x
Mi4zLTExLTcuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiSlNPTi5zdHJpbmdpZnkgY29ycmVjdGx5
IHdvcmtzIG9uIHRvcCBsZXZlbCBOdW1iZXIgb2JqZWN0cy4iLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgew0KLSAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG5ldyBOdW1iZXIoNDIpKSA9
PT0gJzQyJzsNCi0gIH0sDQotICANCi0gcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsN
Ci0gIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04uc3RyaW5naWZ5KTsNCi0gfQ0KLX0gKTsN
CisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMTIuMy0xMS03IiwKKworcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTcuanMiLAorCitkZXNjcmlwdGlvbjog
IkpTT04uc3RyaW5naWZ5IGNvcnJlY3RseSB3b3JrcyBvbiB0b3AgbGV2ZWwgTnVtYmVyIG9iamVj
dHMuIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHJldHVybiBKU09OLnN0cmlu
Z2lmeShuZXcgTnVtYmVyKDQyKSkgPT09ICc0Mic7CisgIH0sCisgIAorIHByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcSAoKSB7CisgIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04uc3RyaW5n
aWZ5KTsKKyB9Cit9ICk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0xMS03LmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjEyLjMtMTEtOC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0xMS04LmpzCShyZXZpc2lvbiAxOTk1
NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
MTIuMy0xMS04LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM2ICsxLDM2IEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEyLjMtMTEtOCIsDQotDQotcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTguanMiLA0KLQ0K
LWRlc2NyaXB0aW9uOiAiSlNPTi5zdHJpbmdpZnkgY29ycmVjdGx5IHdvcmtzIG9uIHRvcCBsZXZl
bCBTdHJpbmcgb2JqZWN0cy4iLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAg
cmV0dXJuIEpTT04uc3RyaW5naWZ5KG5ldyBTdHJpbmcoJ3dyYXBwZXJlZCcpKSA9PT0gJyJ3cmFw
cGVyZWQiJzsNCi0gIH0sDQotICANCi0gcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsN
Ci0gIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04uc3RyaW5naWZ5KTsNCi0gfQ0KLX0gKTsN
CisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMTIuMy0xMS04IiwKKworcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTguanMiLAorCitkZXNjcmlwdGlvbjog
IkpTT04uc3RyaW5naWZ5IGNvcnJlY3RseSB3b3JrcyBvbiB0b3AgbGV2ZWwgU3RyaW5nIG9iamVj
dHMuIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHJldHVybiBKU09OLnN0cmlu
Z2lmeShuZXcgU3RyaW5nKCd3cmFwcGVyZWQnKSkgPT09ICcid3JhcHBlcmVkIic7CisgIH0sCisg
IAorIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7CisgIHJldHVybiBKU09OICYmIGZu
RXhpc3RzKEpTT04uc3RyaW5naWZ5KTsKKyB9Cit9ICk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0xMS04
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtMTEtOS5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0xMS05
LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy0xMS05LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM2ICsx
LDM2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0v
Ly8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQN
Ci0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0K
LS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8g
DQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEyLjMt
MTEtOSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMy8xNS4x
Mi4zLTExLTkuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiSlNPTi5zdHJpbmdpZnkgY29ycmVjdGx5
IHdvcmtzIG9uIHRvcCBsZXZlbCBCb29sZWFuIG9iamVjdHMuIiwNCi0NCi10ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsNCi0gIHJldHVybiBKU09OLnN0cmluZ2lmeShuZXcgQm9vbGVhbihmYWxz
ZSkpID09PSAnZmFsc2UnOw0KLSAgfSwNCi0gIA0KLSBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXEgKCkgew0KLSAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNPTi5zdHJpbmdpZnkpOw0KLSB9
DQotfSApOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAor
Ly8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQK
Ky8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgor
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4xMi4zLTExLTkiLAorCitwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtOS5qcyIsCisKK2Rlc2Ny
aXB0aW9uOiAiSlNPTi5zdHJpbmdpZnkgY29ycmVjdGx5IHdvcmtzIG9uIHRvcCBsZXZlbCBCb29s
ZWFuIG9iamVjdHMuIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHJldHVybiBK
U09OLnN0cmluZ2lmeShuZXcgQm9vbGVhbihmYWxzZSkpID09PSAnZmFsc2UnOworICB9LAorICAK
KyBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEgKCkgeworICByZXR1cm4gSlNPTiAmJiBmbkV4
aXN0cyhKU09OLnN0cmluZ2lmeSk7CisgfQorfSApOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtMTEtOS5q
cwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTQtMS5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy00LTEuanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4xMi4zLTQtMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOSArMSwzOSBA
QAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0K
LS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4xMi4zLTQtMSIs
DQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTQt
MS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJKU09OLnN0cmluZ2lmeSBpZ25vcmVzIHJlcGxhY2Vy
IGFydWd1bWVudHMgdGhhdCBhcmUgbm90IGZ1bmN0aW9ucyBvciBhcnJheXMuLiIsDQotDQotdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB0cnkgew0KLSAgICAgcmV0dXJuIEpTT04uc3Ry
aW5naWZ5KFs0Ml0se30pPT09ICdbNDJdJzsNCi0gICAgIH0NCi0gICBjYXRjaCAoZSkge3JldHVy
biAgZmFsc2V9DQotICB9LA0KLSAgDQotIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7
DQotICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09OLnN0cmluZ2lmeSk7DQotIH0NCi19ICk7
DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisv
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjEyLjMtNC0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTQtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAi
SlNPTi5zdHJpbmdpZnkgaWdub3JlcyByZXBsYWNlciBhcnVndW1lbnRzIHRoYXQgYXJlIG5vdCBm
dW5jdGlvbnMgb3IgYXJyYXlzLi4iLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAg
dHJ5IHsKKyAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFs0Ml0se30pPT09ICdbNDJdJzsKKyAg
ICAgfQorICAgY2F0Y2ggKGUpIHtyZXR1cm4gIGZhbHNlfQorICB9LAorICAKKyBwcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXEgKCkgeworICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09OLnN0
cmluZ2lmeSk7CisgfQorfSApOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtNC0xLmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjEyLjMtNS1hLWktMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy01LWEtaS0xLmpzCShyZXZp
c2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMTIuMy01LWEtaS0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM3ICsxLDM3IEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
DQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEyLjMtNS1hLWkt
MSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4z
LTUtYS1pLTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiSlNPTi5zdHJpbmdpZnkgY29udmVydHMg
TnVtYmVyIHdyYXBwZXIgb2JqZWN0IHNwYWNlIGFydWd1bWVudHMgdG8gTnVtYmVyIHZhbHVlcyIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgb2JqID0ge2ExOiB7YjE6
IFsxLDIsMyw0XSwgYjI6IHtjMTogMSwgYzI6IDJ9fSxhMjogJ2EyJ307DQotICByZXR1cm4gSlNP
Ti5zdHJpbmdpZnkob2JqLG51bGwsIG5ldyBOdW1iZXIoNSkpPT09IEpTT04uc3RyaW5naWZ5KG9i
aixudWxsLCA1KTsNCi0gIH0sDQotICANCi0gcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgp
IHsNCi0gIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04uc3RyaW5naWZ5KTsNCi0gfQ0KLX0g
KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAK
Ky8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMTIuMy01LWEtaS0xIiwKKworcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTUtYS1pLTEuanMiLAorCitkZXNj
cmlwdGlvbjogIkpTT04uc3RyaW5naWZ5IGNvbnZlcnRzIE51bWJlciB3cmFwcGVyIG9iamVjdCBz
cGFjZSBhcnVndW1lbnRzIHRvIE51bWJlciB2YWx1ZXMiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsKKyAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0sIGIyOiB7YzE6IDEsIGMy
OiAyfX0sYTI6ICdhMid9OworICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIG5ldyBO
dW1iZXIoNSkpPT09IEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCA1KTsKKyAgfSwKKyAgCisgcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsKKyAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMo
SlNPTi5zdHJpbmdpZnkpOworIH0KK30gKTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTUtYS1pLTEuanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy01LWItaS0xLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTUtYi1p
LTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTUtYi1pLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
MzcgKzEsMzcgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUu
MTIuMy01LWItaS0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4x
Mi4zLzE1LjEyLjMtNS1iLWktMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJKU09OLnN0cmluZ2lm
eSBjb252ZXJ0cyBTdHJpbmcgd3JhcHBlciBvYmplY3Qgc3BhY2UgYXJ1Z3VtZW50cyB0byBTdHJp
bmcgdmFsdWVzIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBvYmog
PSB7YTE6IHtiMTogWzEsMiwzLDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsNCi0g
IHJldHVybiBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgbmV3IFN0cmluZygneHh4JykpPT09IEpT
T04uc3RyaW5naWZ5KG9iaixudWxsLCAneHh4Jyk7DQotICB9LA0KLSAgDQotIHByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcSAoKSB7DQotICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09OLnN0
cmluZ2lmeSk7DQotIH0NCi19ICk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjEyLjMtNS1iLWkt
MSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMvMTUuMTIuMy01
LWItaS0xLmpzIiwKKworZGVzY3JpcHRpb246ICJKU09OLnN0cmluZ2lmeSBjb252ZXJ0cyBTdHJp
bmcgd3JhcHBlciBvYmplY3Qgc3BhY2UgYXJ1Z3VtZW50cyB0byBTdHJpbmcgdmFsdWVzIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwz
LDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsKKyAgcmV0dXJuIEpTT04uc3RyaW5n
aWZ5KG9iaixudWxsLCBuZXcgU3RyaW5nKCd4eHgnKSk9PT0gSlNPTi5zdHJpbmdpZnkob2JqLG51
bGwsICd4eHgnKTsKKyAgfSwKKyAgCisgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsK
KyAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNPTi5zdHJpbmdpZnkpOworIH0KK30gKTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4xMi4zLTUtYi1pLTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHls
ZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy02
LWEtMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMTIuMy02LWEtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtNi1hLTEuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMzcgKzEsMzcgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggew0KLWlkOiAiMTUuMTIuMy02LWEtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTYtYS0xLmpzIiwNCi0NCi1kZXNjcmlwdGlv
bjogIkpTT04uc3RyaW5naWZ5IHRyZWF0cyBudW1lcmljIHNwYWNlIGFyZ3VtZW50cyBncmVhdGVy
IHRoYW4gMTAgdGhlIHNhbWUgYXMgYSAgc3BhY2UgYXJndW1lbnQgb2YgMTAuIiwNCi0NCi10ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRd
LCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsNCi0gIHJldHVybiBKU09OLnN0cmluZ2lm
eShvYmosbnVsbCwgMTApPT09IEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCAxMDApOw0KLSAgfSwN
Ci0gIA0KLSBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEgKCkgew0KLSAgcmV0dXJuIEpTT04g
JiYgZm5FeGlzdHMoSlNPTi5zdHJpbmdpZnkpOw0KLSB9DQotfSApOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxNS4xMi4zLTYtYS0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIv
MTUuMTIuMy8xNS4xMi4zLTYtYS0xLmpzIiwKKworZGVzY3JpcHRpb246ICJKU09OLnN0cmluZ2lm
eSB0cmVhdHMgbnVtZXJpYyBzcGFjZSBhcmd1bWVudHMgZ3JlYXRlciB0aGFuIDEwIHRoZSBzYW1l
IGFzIGEgIHNwYWNlIGFyZ3VtZW50IG9mIDEwLiIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgeworICB2YXIgb2JqID0ge2ExOiB7YjE6IFsxLDIsMyw0XSwgYjI6IHtjMTogMSwgYzI6IDJ9
fSxhMjogJ2EyJ307CisgIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgMTApPT09IEpT
T04uc3RyaW5naWZ5KG9iaixudWxsLCAxMDApOworICB9LAorICAKKyBwcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXEgKCkgeworICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09OLnN0cmluZ2lm
eSk7CisgfQorfSApOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtNi1hLTEuanMKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMTIuMy02LWEtMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy02LWEtMi5qcwkocmV2aXNpb24gMTk5
NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjEyLjMtNi1hLTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzcgKzEsMzcgQEAKLS8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQot
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1F
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMTIuMy02LWEtMiIsDQotDQotcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTYtYS0yLmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogIkpTT04uc3RyaW5naWZ5IHRydWNjYXRlcyBub24taW50ZWdlciBu
dW1lcmljIHNwYWNlIGFyZ3VtZW50cyB0byB0aGVpciBpbnRlZ2VyIHBhcnQuIiwNCi0NCi10ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRd
LCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsNCi0gIHJldHVybiBKU09OLnN0cmluZ2lm
eShvYmosbnVsbCwgNS45OTk5OSk9PT0gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIDUpOw0KLSAg
fSwNCi0gIA0KLSBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEgKCkgew0KLSAgcmV0dXJuIEpT
T04gJiYgZm5FeGlzdHMoSlNPTi5zdHJpbmdpZnkpOw0KLSB9DQotfSApOw0KKy8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
eworaWQ6ICIxNS4xMi4zLTYtYS0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
MTIvMTUuMTIuMy8xNS4xMi4zLTYtYS0yLmpzIiwKKworZGVzY3JpcHRpb246ICJKU09OLnN0cmlu
Z2lmeSB0cnVjY2F0ZXMgbm9uLWludGVnZXIgbnVtZXJpYyBzcGFjZSBhcmd1bWVudHMgdG8gdGhl
aXIgaW50ZWdlciBwYXJ0LiIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIg
b2JqID0ge2ExOiB7YjE6IFsxLDIsMyw0XSwgYjI6IHtjMTogMSwgYzI6IDJ9fSxhMjogJ2EyJ307
CisgIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgNS45OTk5OSk9PT0gSlNPTi5zdHJp
bmdpZnkob2JqLG51bGwsIDUpOworICB9LAorICAKKyBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXEgKCkgeworICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09OLnN0cmluZ2lmeSk7CisgfQor
fSApOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtNi1hLTIuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
MTIuMy02LWItMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy02LWItMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtNi1i
LTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzcgKzEsMzcgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMTIuMy02LWItMSIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTYtYi0xLmpzIiwNCi0NCi1kZXNj
cmlwdGlvbjogIkpTT04uc3RyaW5naWZ5IHRyZWF0cyBudW1lcmljIHNwYWNlIGFyZ3VtZW50cyBs
ZXNzIHRoYW4gMSAoMC45OTk5OTkpdGhlIHNhbWUgYXMgZW1wdHJ5IHN0cmluZyBzcGFjZSBhcmd1
bWVudC4iLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIG9iaiA9IHth
MToge2IxOiBbMSwyLDMsNF0sIGIyOiB7YzE6IDEsIGMyOiAyfX0sYTI6ICdhMid9Ow0KLSAgcmV0
dXJuIEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCAwLjk5OTk5OSk9PT0gSlNPTi5zdHJpbmdpZnko
b2JqKTsgIC8qIGVtcHRyeSBzdHJpbmcgc2hvdWxkIGJlIHNhbWUgYXMgbm8gc3BhY2UgYXJnICov
DQotICB9LA0KLSAgDQotIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7DQotICByZXR1
cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09OLnN0cmluZ2lmeSk7DQotIH0NCi19ICk7DQorLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7CitpZDogIjE1LjEyLjMtNi1iLTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtNi1iLTEuanMiLAorCitkZXNjcmlwdGlvbjogIkpTT04u
c3RyaW5naWZ5IHRyZWF0cyBudW1lcmljIHNwYWNlIGFyZ3VtZW50cyBsZXNzIHRoYW4gMSAoMC45
OTk5OTkpdGhlIHNhbWUgYXMgZW1wdHJ5IHN0cmluZyBzcGFjZSBhcmd1bWVudC4iLAorCit0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0s
IGIyOiB7YzE6IDEsIGMyOiAyfX0sYTI6ICdhMid9OworICByZXR1cm4gSlNPTi5zdHJpbmdpZnko
b2JqLG51bGwsIDAuOTk5OTk5KT09PSBKU09OLnN0cmluZ2lmeShvYmopOyAgLyogZW1wdHJ5IHN0
cmluZyBzaG91bGQgYmUgc2FtZSBhcyBubyBzcGFjZSBhcmcgKi8KKyAgfSwKKyAgCisgcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsKKyAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNP
Ti5zdHJpbmdpZnkpOworIH0KK30gKTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTYtYi0xLmpzCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtNi1iLTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtNi1iLTIuanMJKHJl
dmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4xMi4zLTYtYi0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM3ICsxLDM3IEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
DQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEyLjMtNi1iLTIi
LA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMvMTUuMTIuMy02
LWItMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJKU09OLnN0cmluZ2lmeSB0cmVhdHMgbnVtZXJp
YyBzcGFjZSBhcmd1bWVudHMgbGVzcyB0aGFuIDEgKDApdGhlIHNhbWUgYXMgZW1wdHJ5IHN0cmlu
ZyBzcGFjZSBhcmd1bWVudC4iLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAg
dmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0sIGIyOiB7YzE6IDEsIGMyOiAyfX0sYTI6ICdh
Mid9Ow0KLSAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCAwKT09PSBKU09OLnN0cmlu
Z2lmeShvYmopOyAgLyogZW1wdHJ5IHN0cmluZyBzaG91bGQgYmUgc2FtZSBhcyBubyBzcGFjZSBh
cmcgKi8NCi0gIH0sDQotICANCi0gcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsNCi0g
IHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04uc3RyaW5naWZ5KTsNCi0gfQ0KLX0gKTsNCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsKK2lkOiAiMTUuMTIuMy02LWItMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjEyLzE1LjEyLjMvMTUuMTIuMy02LWItMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAi
SlNPTi5zdHJpbmdpZnkgdHJlYXRzIG51bWVyaWMgc3BhY2UgYXJndW1lbnRzIGxlc3MgdGhhbiAx
ICgwKXRoZSBzYW1lIGFzIGVtcHRyeSBzdHJpbmcgc3BhY2UgYXJndW1lbnQuIiwKKwordGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRdLCBi
Mjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsKKyAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9i
aixudWxsLCAwKT09PSBKU09OLnN0cmluZ2lmeShvYmopOyAgLyogZW1wdHJ5IHN0cmluZyBzaG91
bGQgYmUgc2FtZSBhcyBubyBzcGFjZSBhcmcgKi8KKyAgfSwKKyAgCisgcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVxICgpIHsKKyAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNPTi5zdHJpbmdp
ZnkpOworIH0KK30gKTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTYtYi0yLmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjEyLjMtNi1iLTMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtNi1iLTMuanMJKHJldmlzaW9uIDE5
OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4xMi4zLTYtYi0zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM3ICsxLDM3IEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQot
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEyLjMtNi1iLTMiLA0KLQ0KLXBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMvMTUuMTIuMy02LWItMy5qcyIs
DQotDQotZGVzY3JpcHRpb246ICJKU09OLnN0cmluZ2lmeSB0cmVhdHMgbnVtZXJpYyBzcGFjZSBh
cmd1bWVudHMgbGVzcyB0aGFuIDEgKC01KSB0aGUgc2FtZSBhcyBlbXB0cnkgc3RyaW5nIHNwYWNl
IGFyZ3VtZW50LiIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgb2Jq
ID0ge2ExOiB7YjE6IFsxLDIsMyw0XSwgYjI6IHtjMTogMSwgYzI6IDJ9fSxhMjogJ2EyJ307DQot
ICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIC01KT09PSBKU09OLnN0cmluZ2lmeShv
YmopOyAgLyogZW1wdHJ5IHN0cmluZyBzaG91bGQgYmUgc2FtZSBhcyBubyBzcGFjZSBhcmcgKi8N
Ci0gIH0sDQotICANCi0gcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsNCi0gIHJldHVy
biBKU09OICYmIGZuRXhpc3RzKEpTT04uc3RyaW5naWZ5KTsNCi0gfQ0KLX0gKTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKK2lkOiAiMTUuMTIuMy02LWItMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjEyLzE1LjEyLjMvMTUuMTIuMy02LWItMy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiSlNPTi5z
dHJpbmdpZnkgdHJlYXRzIG51bWVyaWMgc3BhY2UgYXJndW1lbnRzIGxlc3MgdGhhbiAxICgtNSkg
dGhlIHNhbWUgYXMgZW1wdHJ5IHN0cmluZyBzcGFjZSBhcmd1bWVudC4iLAorCit0ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0sIGIyOiB7
YzE6IDEsIGMyOiAyfX0sYTI6ICdhMid9OworICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqLG51
bGwsIC01KT09PSBKU09OLnN0cmluZ2lmeShvYmopOyAgLyogZW1wdHJ5IHN0cmluZyBzaG91bGQg
YmUgc2FtZSBhcyBubyBzcGFjZSBhcmcgKi8KKyAgfSwKKyAgCisgcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVxICgpIHsKKyAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNPTi5zdHJpbmdpZnkp
OworIH0KK30gKTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTYtYi0zLmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjEyLjMtNi1iLTQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtNi1iLTQuanMJKHJldmlzaW9uIDE5OTU0
OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4x
Mi4zLTYtYi00LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5IEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEyLjMtNi1iLTQiLA0KLQ0KLXBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMvMTUuMTIuMy02LWItNC5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJKU09OLnN0cmluZ2lmeSB0cmVhdHMgbnVtZXJpYyBzcGFjZSBhcmd1
bWVudHMgKGluIHRoZSByYW5nZSAxLi4xMCkgaXMgZXF1aXZhbGVudCB0byBhIHN0cmluZyBvZiBz
cGFjZXMgb2YgdGhhdCBsZW5ndGguIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsN
Ci0gIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEy
OiAnYTInfTsNCi0gIHZhciBmaXZlU3BhY2VzID0gJyAgICAgJzsNCi0gIC8vICAgICAgICAgICAg
ICAgJzEyMzQ1Jw0KLSAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCA1KT09PSBKU09O
LnN0cmluZ2lmeShvYmosIG51bGwsIGZpdmVTcGFjZXMpOyAgDQotICB9LA0KLSAgDQotIHByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7DQotICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhK
U09OLnN0cmluZ2lmeSk7DQotIH0NCi19ICk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjEyLjMt
Ni1iLTQiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4zLzE1LjEy
LjMtNi1iLTQuanMiLAorCitkZXNjcmlwdGlvbjogIkpTT04uc3RyaW5naWZ5IHRyZWF0cyBudW1l
cmljIHNwYWNlIGFyZ3VtZW50cyAoaW4gdGhlIHJhbmdlIDEuLjEwKSBpcyBlcXVpdmFsZW50IHRv
IGEgc3RyaW5nIG9mIHNwYWNlcyBvZiB0aGF0IGxlbmd0aC4iLAorCit0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsKKyAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0sIGIyOiB7YzE6IDEs
IGMyOiAyfX0sYTI6ICdhMid9OworICB2YXIgZml2ZVNwYWNlcyA9ICcgICAgICc7CisgIC8vICAg
ICAgICAgICAgICAgJzEyMzQ1JworICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIDUp
PT09IEpTT04uc3RyaW5naWZ5KG9iaiwgbnVsbCwgZml2ZVNwYWNlcyk7ICAKKyAgfSwKKyAgCisg
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsKKyAgcmV0dXJuIEpTT04gJiYgZm5FeGlz
dHMoSlNPTi5zdHJpbmdpZnkpOworIH0KK30gKTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTYtYi00Lmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtNy1hLTEuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtNy1hLTEu
anMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTctYS0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM3ICsx
LDM3IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0v
Ly8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQN
Ci0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0K
LS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8g
DQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEyLjMt
Ny1hLTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMvMTUu
MTIuMy03LWEtMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJKU09OLnN0cmluZ2lmeSBvbmx5IHVz
ZXMgdGhlIGZpcnN0IDEwIGNoYXJhY3RlcnMgb2YgYSBzdHJpbmcgc3BhY2UgYXJndW1lbnRzLiIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgb2JqID0ge2ExOiB7YjE6
IFsxLDIsMyw0XSwgYjI6IHtjMTogMSwgYzI6IDJ9fSxhMjogJ2EyJ307DQotICByZXR1cm4gSlNP
Ti5zdHJpbmdpZnkob2JqLG51bGwsICcwMTIzNDU2Nzg5eHh4eHh4eHh4Jyk9PT0gSlNPTi5zdHJp
bmdpZnkob2JqLG51bGwsICcwMTIzNDU2Nzg5Jyk7ICANCi0gIH0sDQotICANCi0gcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsNCi0gIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04u
c3RyaW5naWZ5KTsNCi0gfQ0KLX0gKTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMTIuMy03LWEt
MSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMvMTUuMTIuMy03
LWEtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiSlNPTi5zdHJpbmdpZnkgb25seSB1c2VzIHRoZSBm
aXJzdCAxMCBjaGFyYWN0ZXJzIG9mIGEgc3RyaW5nIHNwYWNlIGFyZ3VtZW50cy4iLAorCit0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0s
IGIyOiB7YzE6IDEsIGMyOiAyfX0sYTI6ICdhMid9OworICByZXR1cm4gSlNPTi5zdHJpbmdpZnko
b2JqLG51bGwsICcwMTIzNDU2Nzg5eHh4eHh4eHh4Jyk9PT0gSlNPTi5zdHJpbmdpZnkob2JqLG51
bGwsICcwMTIzNDU2Nzg5Jyk7ICAKKyAgfSwKKyAgCisgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVxICgpIHsKKyAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNPTi5zdHJpbmdpZnkpOworIH0K
K30gKTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTctYS0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
b2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjEyLjMtOC1hLTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtOC1hLTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTgt
YS0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM3ICsxLDM3IEBACi0vLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0K
LS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
Uw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEyLjMtOC1hLTEiLA0KLQ0KLXBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMvMTUuMTIuMy04LWEtMS5qcyIsDQotDQotZGVz
Y3JpcHRpb246ICJKU09OLnN0cmluZ2lmeSB0cmVhdHMgYW4gZW1wdHkgc3RyaW5nIHNwYWNlIGFy
Z3VtZW50IHRoZSBzYW1lIGFzIGEgbWlzc2luZyBzcGFjZSBhcmd1bWVudC4iLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0s
IGIyOiB7YzE6IDEsIGMyOiAyfX0sYTI6ICdhMid9Ow0KLSAgcmV0dXJuIEpTT04uc3RyaW5naWZ5
KG9iaik9PT0gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsICcnKTsNCi0gIH0sDQotICANCi0gcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsNCi0gIHJldHVybiBKU09OICYmIGZuRXhpc3Rz
KEpTT04uc3RyaW5naWZ5KTsNCi0gfQ0KLX0gKTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMTIu
My04LWEtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMvMTUu
MTIuMy04LWEtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiSlNPTi5zdHJpbmdpZnkgdHJlYXRzIGFu
IGVtcHR5IHN0cmluZyBzcGFjZSBhcmd1bWVudCB0aGUgc2FtZSBhcyBhIG1pc3Npbmcgc3BhY2Ug
YXJndW1lbnQuIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBvYmogPSB7
YTE6IHtiMTogWzEsMiwzLDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsKKyAgcmV0
dXJuIEpTT04uc3RyaW5naWZ5KG9iaik9PT0gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsICcnKTsK
KyAgfSwKKyAgCisgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsKKyAgcmV0dXJuIEpT
T04gJiYgZm5FeGlzdHMoSlNPTi5zdHJpbmdpZnkpOworIH0KK30gKTsKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4x
Mi4zLTgtYS0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAj
IworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtOC1hLTIuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjEyLjMtOC1hLTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTgtYS0yLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDM3ICsxLDM3IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IN
Ci0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0v
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1p
ZDogIjE1LjEyLjMtOC1hLTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEy
LzE1LjEyLjMvMTUuMTIuMy04LWEtMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJKU09OLnN0cmlu
Z2lmeSB0cmVhdHMgYW4gQm9vbGVhbiBzcGFjZSBhcmd1bWVudCB0aGUgc2FtZSBhcyBhIG1pc3Np
bmcgc3BhY2UgYXJndW1lbnQuIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0g
IHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAn
YTInfTsNCi0gIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmopPT09IEpTT04uc3RyaW5naWZ5KG9i
aixudWxsLCB0cnVlKTsNCi0gIH0sDQotICANCi0gcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVx
ICgpIHsNCi0gIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04uc3RyaW5naWZ5KTsNCi0gfQ0K
LX0gKTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8v
LyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisv
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMTIuMy04LWEtMiIsCisKK3BhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMvMTUuMTIuMy04LWEtMi5qcyIsCisKK2Rlc2Ny
aXB0aW9uOiAiSlNPTi5zdHJpbmdpZnkgdHJlYXRzIGFuIEJvb2xlYW4gc3BhY2UgYXJndW1lbnQg
dGhlIHNhbWUgYXMgYSBtaXNzaW5nIHNwYWNlIGFyZ3VtZW50LiIsCisKK3Rlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworICB2YXIgb2JqID0ge2ExOiB7YjE6IFsxLDIsMyw0XSwgYjI6IHtjMTog
MSwgYzI6IDJ9fSxhMjogJ2EyJ307CisgIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmopPT09IEpT
T04uc3RyaW5naWZ5KG9iaixudWxsLCB0cnVlKTsKKyAgfSwKKyAgCisgcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVxICgpIHsKKyAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNPTi5zdHJpbmdp
ZnkpOworIH0KK30gKTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTgtYS0yLmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjEyLjMtOC1hLTMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtOC1hLTMuanMJKHJldmlzaW9uIDE5
OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4xMi4zLTgtYS0zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM3ICsxLDM3IEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQot
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEyLjMtOC1hLTMiLA0KLQ0KLXBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMvMTUuMTIuMy04LWEtMy5qcyIs
DQotDQotZGVzY3JpcHRpb246ICJKU09OLnN0cmluZ2lmeSB0cmVhdHMgYW4gbnVsbCBzcGFjZSBh
cmd1bWVudCB0aGUgc2FtZSBhcyBhIG1pc3Npbmcgc3BhY2UgYXJndW1lbnQuIiwNCi0NCi10ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRd
LCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsNCi0gIHJldHVybiBKU09OLnN0cmluZ2lm
eShvYmopPT09IEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCBudWxsKTsNCi0gIH0sDQotICANCi0g
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsNCi0gIHJldHVybiBKU09OICYmIGZuRXhp
c3RzKEpTT04uc3RyaW5naWZ5KTsNCi0gfQ0KLX0gKTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MK
Ky8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUu
MTIuMy04LWEtMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMv
MTUuMTIuMy04LWEtMy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiSlNPTi5zdHJpbmdpZnkgdHJlYXRz
IGFuIG51bGwgc3BhY2UgYXJndW1lbnQgdGhlIHNhbWUgYXMgYSBtaXNzaW5nIHNwYWNlIGFyZ3Vt
ZW50LiIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgb2JqID0ge2ExOiB7
YjE6IFsxLDIsMyw0XSwgYjI6IHtjMTogMSwgYzI6IDJ9fSxhMjogJ2EyJ307CisgIHJldHVybiBK
U09OLnN0cmluZ2lmeShvYmopPT09IEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCBudWxsKTsKKyAg
fSwKKyAgCisgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsKKyAgcmV0dXJuIEpTT04g
JiYgZm5FeGlzdHMoSlNPTi5zdHJpbmdpZnkpOworIH0KK30gKTsKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4z
LTgtYS0zLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIwor
TEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtOC1hLTQuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEy
LjMtOC1hLTQuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTgtYS00LmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDM3ICsxLDM3IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0v
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDog
IjE1LjEyLjMtOC1hLTQiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1
LjEyLjMvMTUuMTIuMy04LWEtNC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJKU09OLnN0cmluZ2lm
eSB0cmVhdHMgYW4gQm9vbGVhbiB3cmFwcGVyIHNwYWNlIGFyZ3VtZW50IHRoZSBzYW1lIGFzIGEg
bWlzc2luZyBzcGFjZSBhcmd1bWVudC4iLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
ew0KLSAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0sIGIyOiB7YzE6IDEsIGMyOiAyfX0s
YTI6ICdhMid9Ow0KLSAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaik9PT0gSlNPTi5zdHJpbmdp
Znkob2JqLG51bGwsIG5ldyBCb29sZWFuKHRydWUpKTsNCi0gIH0sDQotICANCi0gcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsNCi0gIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04u
c3RyaW5naWZ5KTsNCi0gfQ0KLX0gKTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMTIuMy04LWEt
NCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMvMTUuMTIuMy04
LWEtNC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiSlNPTi5zdHJpbmdpZnkgdHJlYXRzIGFuIEJvb2xl
YW4gd3JhcHBlciBzcGFjZSBhcmd1bWVudCB0aGUgc2FtZSBhcyBhIG1pc3Npbmcgc3BhY2UgYXJn
dW1lbnQuIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBvYmogPSB7YTE6
IHtiMTogWzEsMiwzLDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsKKyAgcmV0dXJu
IEpTT04uc3RyaW5naWZ5KG9iaik9PT0gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIG5ldyBCb29s
ZWFuKHRydWUpKTsKKyAgfSwKKyAgCisgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsK
KyAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNPTi5zdHJpbmdpZnkpOworIH0KK30gKTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4xMi4zLTgtYS00LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjMtOC1h
LTUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjEyLjMtOC1hLTUuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zLTgtYS01LmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDM3ICsxLDM3IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
DQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsNCi1pZDogIjE1LjEyLjMtOC1hLTUiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjEyLzE1LjEyLjMvMTUuMTIuMy04LWEtNS5qcyIsDQotDQotZGVzY3JpcHRpb246
ICJKU09OLnN0cmluZ2lmeSB0cmVhdHMgbm9uLU51bWJlciBvciBTdHJpbmcgb2JqZWN0IHNwYWNl
IGFyZ3VtZW50cyB0aGUgc2FtZSBhcyBhIG1pc3Npbmcgc3BhY2UgYXJndW1lbnQuIiwNCi0NCi10
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwz
LDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsNCi0gIHJldHVybiBKU09OLnN0cmlu
Z2lmeShvYmopPT09IEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCBvYmopOw0KLSAgfSwNCi0gIA0K
LSBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEgKCkgew0KLSAgcmV0dXJuIEpTT04gJiYgZm5F
eGlzdHMoSlNPTi5zdHJpbmdpZnkpOw0KLSB9DQotfSApOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisv
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIx
NS4xMi4zLTgtYS01IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIu
My8xNS4xMi4zLTgtYS01LmpzIiwKKworZGVzY3JpcHRpb246ICJKU09OLnN0cmluZ2lmeSB0cmVh
dHMgbm9uLU51bWJlciBvciBTdHJpbmcgb2JqZWN0IHNwYWNlIGFyZ3VtZW50cyB0aGUgc2FtZSBh
cyBhIG1pc3Npbmcgc3BhY2UgYXJndW1lbnQuIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7CisgIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRdLCBiMjoge2MxOiAxLCBjMjogMn19
LGEyOiAnYTInfTsKKyAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaik9PT0gSlNPTi5zdHJpbmdp
Znkob2JqLG51bGwsIG9iaik7CisgIH0sCisgIAorIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cSAoKSB7CisgIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04uc3RyaW5naWZ5KTsKKyB9Cit9
ICk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMTIuMy04LWEtNS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4x
Mi4zXzItMi1iLWktMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuM18yLTItYi1pLTEuanMJKHJldmlzaW9uIDE5OTU0
OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4x
Mi4zXzItMi1iLWktMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAotLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYN
Ci0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0K
LUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4xMi4zXzItMi1iLWktMSIsDQot
DQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzItMi1i
LWktMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJKU09OLnN0cmluZ2lmeSBjb252ZXJ0cyBzdHJp
bmcgd3JhcHBlciBvYmplY3RzIHJldHVybmVkIGZyb20gYSB0b0pTT04gY2FsbCB0byBsaXRlcmFs
IHN0cmluZ3MuIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBvYmog
PSB7DQotICAgIHByb3A6NDIsDQotICAgIHRvSlNPTjogZnVuY3Rpb24gKCkge3JldHVybiAnZm9y
dHl0d28gb2JqZWN0cyd9DQotICAgIH07DQotICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoW29ial0p
ID09PSAnWyJmb3J0eXR3byBvYmplY3RzIl0nOw0KLSAgfSwNCi0gIA0KLSBwcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXEgKCkgew0KLSAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNPTi5zdHJp
bmdpZnkpOw0KLSB9DQotfSApOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
Ly8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4xMi4zXzItMi1iLWkt
MSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMvMTUuMTIuM18y
LTItYi1pLTEuanMiLAorCitkZXNjcmlwdGlvbjogIkpTT04uc3RyaW5naWZ5IGNvbnZlcnRzIHN0
cmluZyB3cmFwcGVyIG9iamVjdHMgcmV0dXJuZWQgZnJvbSBhIHRvSlNPTiBjYWxsIHRvIGxpdGVy
YWwgc3RyaW5ncy4iLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIG9iaiA9
IHsKKyAgICBwcm9wOjQyLAorICAgIHRvSlNPTjogZnVuY3Rpb24gKCkge3JldHVybiAnZm9ydHl0
d28gb2JqZWN0cyd9CisgICAgfTsKKyAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFtvYmpdKSA9PT0g
J1siZm9ydHl0d28gb2JqZWN0cyJdJzsKKyAgfSwKKyAgCisgcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVxICgpIHsKKyAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNPTi5zdHJpbmdpZnkpOwor
IH0KK30gKTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zXzItMi1iLWktMS5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4xMi4zXzItMi1iLWktMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuM18yLTItYi1pLTIuanMJKHJldmlz
aW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4xMi4zXzItMi1iLWktMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBA
QAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0K
LS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4xMi4zXzItMi1i
LWktMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMy8xNS4x
Mi4zXzItMi1iLWktMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJKU09OLnN0cmluZ2lmeSBjb252
ZXJ0cyBOdW1iZXIgd3JhcHBlciBvYmplY3RzIHJldHVybmVkIGZyb20gYSB0b0pTT04gY2FsbCB0
byBsaXRlcmFsIE51bWJlci4iLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAg
dmFyIG9iaiA9IHsNCi0gICAgcHJvcDo0MiwNCi0gICAgdG9KU09OOiBmdW5jdGlvbiAoKSB7cmV0
dXJuIG5ldyBOdW1iZXIoNDIpfQ0KLSAgICB9Ow0KLSAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFtv
YmpdKSA9PT0gJ1s0Ml0nOw0KLSAgfSwNCi0gIA0KLSBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXEgKCkgew0KLSAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNPTi5zdHJpbmdpZnkpOw0KLSB9
DQotfSApOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAor
Ly8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQK
Ky8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgor
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4xMi4zXzItMi1iLWktMiIsCisKK3BhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMvMTUuMTIuM18yLTItYi1pLTIuanMi
LAorCitkZXNjcmlwdGlvbjogIkpTT04uc3RyaW5naWZ5IGNvbnZlcnRzIE51bWJlciB3cmFwcGVy
IG9iamVjdHMgcmV0dXJuZWQgZnJvbSBhIHRvSlNPTiBjYWxsIHRvIGxpdGVyYWwgTnVtYmVyLiIs
CisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgb2JqID0geworICAgIHByb3A6
NDIsCisgICAgdG9KU09OOiBmdW5jdGlvbiAoKSB7cmV0dXJuIG5ldyBOdW1iZXIoNDIpfQorICAg
IH07CisgIHJldHVybiBKU09OLnN0cmluZ2lmeShbb2JqXSkgPT09ICdbNDJdJzsKKyAgfSwKKyAg
CisgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsKKyAgcmV0dXJuIEpTT04gJiYgZm5F
eGlzdHMoSlNPTi5zdHJpbmdpZnkpOworIH0KK30gKTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zXzItMi1i
LWktMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xG
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zXzItMi1iLWktMy5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
MTIuM18yLTItYi1pLTMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zXzItMi1iLWktMy5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
DQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7DQotaWQ6ICIxNS4xMi4zXzItMi1iLWktMyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzItMi1iLWktMy5qcyIsDQotDQotZGVzY3JpcHRp
b246ICJKU09OLnN0cmluZ2lmeSBjb252ZXJ0cyBCb29sZWFuIHdyYXBwZXIgb2JqZWN0cyByZXR1
cm5lZCBmcm9tIGEgdG9KU09OIGNhbGwgdG8gbGl0ZXJhbCBCb29sZWFuIHZhbHVlcy4iLA0KLQ0K
LXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIG9iaiA9IHsNCi0gICAgcHJvcDo0
MiwNCi0gICAgdG9KU09OOiBmdW5jdGlvbiAoKSB7cmV0dXJuIG5ldyBCb29sZWFuKHRydWUpfQ0K
LSAgICB9Ow0KLSAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFtvYmpdKSA9PT0gJ1t0cnVlXSc7DQot
ICB9LA0KLSAgDQotIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7DQotICByZXR1cm4g
SlNPTiAmJiBmbkV4aXN0cyhKU09OLnN0cmluZ2lmeSk7DQotIH0NCi19ICk7DQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7CitpZDogIjE1LjEyLjNfMi0yLWItaS0zIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzItMi1iLWktMy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAi
SlNPTi5zdHJpbmdpZnkgY29udmVydHMgQm9vbGVhbiB3cmFwcGVyIG9iamVjdHMgcmV0dXJuZWQg
ZnJvbSBhIHRvSlNPTiBjYWxsIHRvIGxpdGVyYWwgQm9vbGVhbiB2YWx1ZXMuIiwKKwordGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBvYmogPSB7CisgICAgcHJvcDo0MiwKKyAgICB0
b0pTT046IGZ1bmN0aW9uICgpIHtyZXR1cm4gbmV3IEJvb2xlYW4odHJ1ZSl9CisgICAgfTsKKyAg
cmV0dXJuIEpTT04uc3RyaW5naWZ5KFtvYmpdKSA9PT0gJ1t0cnVlXSc7CisgIH0sCisgIAorIHBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7CisgIHJldHVybiBKU09OICYmIGZuRXhpc3Rz
KEpTT04uc3RyaW5naWZ5KTsKKyB9Cit9ICk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuM18yLTItYi1pLTMu
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuM18yLTMtYS0xLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zXzIt
My1hLTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zXzItMy1hLTEuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsMzYgKzEsMzYgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
Lg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAi
MTUuMTIuM18yLTMtYS0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8x
NS4xMi4zLzE1LjEyLjNfMi0zLWEtMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJKU09OLnN0cmlu
Z2lmeSBjb252ZXJ0cyBzdHJpbmcgd3JhcHBlciBvYmplY3RzIHJldHVybmVkIGZyb20gcmVwbGFj
ZXIgZnVuY3Rpb25zIHRvIGxpdGVyYWwgc3RyaW5ncy4iLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgew0KLSAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFs0Ml0sIGZ1bmN0aW9uKGssdikg
e3JldHVybiB2PT09NDI/IG5ldyBTdHJpbmcoJ2ZvcnR5dHdvJyk6dn0pID09PSAnWyJmb3J0eXR3
byJdJzsNCi0gIH0sDQotICANCi0gcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsNCi0g
IHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04uc3RyaW5naWZ5KTsNCi0gfQ0KLX0gKTsNCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsKK2lkOiAiMTUuMTIuM18yLTMtYS0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzItMy1hLTEuanMiLAorCitkZXNjcmlwdGlv
bjogIkpTT04uc3RyaW5naWZ5IGNvbnZlcnRzIHN0cmluZyB3cmFwcGVyIG9iamVjdHMgcmV0dXJu
ZWQgZnJvbSByZXBsYWNlciBmdW5jdGlvbnMgdG8gbGl0ZXJhbCBzdHJpbmdzLiIsCisKK3Rlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoWzQyXSwgZnVu
Y3Rpb24oayx2KSB7cmV0dXJuIHY9PT00Mj8gbmV3IFN0cmluZygnZm9ydHl0d28nKTp2fSkgPT09
ICdbImZvcnR5dHdvIl0nOworICB9LAorICAKKyBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEg
KCkgeworICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09OLnN0cmluZ2lmeSk7CisgfQorfSAp
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjEyLjNfMi0zLWEtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4x
Mi4zXzItMy1hLTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjNfMi0zLWEtMi5qcwkocmV2aXNpb24gMTk5NTQ5KQor
KysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjNf
Mi0zLWEtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzNiArMSwzNiBAQAotLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQot
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4xMi4zXzItMy1hLTIiLA0KLQ0KLXBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMvMTUuMTIuM18yLTMtYS0yLmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogIkpTT04uc3RyaW5naWZ5IGNvbnZlcnRzIE51bWJlciB3cmFwcGVy
IG9iamVjdHMgcmV0dXJuZWQgZnJvbSByZXBsYWNlciBmdW5jdGlvbnMgdG8gbGl0ZXJhbCBudW1i
ZXJzLiIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICByZXR1cm4gSlNPTi5z
dHJpbmdpZnkoWzQyXSwgZnVuY3Rpb24oayx2KSB7cmV0dXJuIHY9PT00Mj8gbmV3IE51bWJlcig4
NCk6dn0pID09PSAnWzg0XSc7DQotICB9LA0KLSAgDQotIHByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcSAoKSB7DQotICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09OLnN0cmluZ2lmeSk7DQot
IH0NCi19ICk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
CisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
CisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjEyLjNfMi0zLWEtMiIsCisKK3BhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMvMTUuMTIuM18yLTMtYS0yLmpzIiwK
KworZGVzY3JpcHRpb246ICJKU09OLnN0cmluZ2lmeSBjb252ZXJ0cyBOdW1iZXIgd3JhcHBlciBv
YmplY3RzIHJldHVybmVkIGZyb20gcmVwbGFjZXIgZnVuY3Rpb25zIHRvIGxpdGVyYWwgbnVtYmVy
cy4iLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgcmV0dXJuIEpTT04uc3RyaW5n
aWZ5KFs0Ml0sIGZ1bmN0aW9uKGssdikge3JldHVybiB2PT09NDI/IG5ldyBOdW1iZXIoODQpOnZ9
KSA9PT0gJ1s4NF0nOworICB9LAorICAKKyBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEgKCkg
eworICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09OLnN0cmluZ2lmeSk7CisgfQorfSApOwoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjEyLjNfMi0zLWEtMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4z
XzItMy1hLTMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjEyLjNfMi0zLWEtMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjNfMi0z
LWEtMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzNiArMSwzNiBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4xMi4zXzItMy1hLTMiLA0KLQ0KLXBhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMvMTUuMTIuM18yLTMtYS0zLmpzIiwNCi0N
Ci1kZXNjcmlwdGlvbjogIkpTT04uc3RyaW5naWZ5IGNvbnZlcnRzIEJvb2xlYW4gd3JhcHBlciBv
YmplY3RzIHJldHVybmVkIGZyb20gcmVwbGFjZXIgZnVuY3Rpb25zIHRvIGxpdGVyYWwgbnVtYmVy
cy4iLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgcmV0dXJuIEpTT04uc3Ry
aW5naWZ5KFs0Ml0sIGZ1bmN0aW9uKGssdikge3JldHVybiB2PT09NDI/IG5ldyBCb29sZWFuKGZh
bHNlKTp2fSkgPT09ICdbZmFsc2VdJzsNCi0gIH0sDQotICANCi0gcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVxICgpIHsNCi0gIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04uc3RyaW5naWZ5
KTsNCi0gfQ0KLX0gKTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8K
Ky8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAK
Ky8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisK
KworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMTIuM18yLTMtYS0zIiwKKwor
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzItMy1hLTMu
anMiLAorCitkZXNjcmlwdGlvbjogIkpTT04uc3RyaW5naWZ5IGNvbnZlcnRzIEJvb2xlYW4gd3Jh
cHBlciBvYmplY3RzIHJldHVybmVkIGZyb20gcmVwbGFjZXIgZnVuY3Rpb25zIHRvIGxpdGVyYWwg
bnVtYmVycy4iLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgcmV0dXJuIEpTT04u
c3RyaW5naWZ5KFs0Ml0sIGZ1bmN0aW9uKGssdikge3JldHVybiB2PT09NDI/IG5ldyBCb29sZWFu
KGZhbHNlKTp2fSkgPT09ICdbZmFsc2VdJzsKKyAgfSwKKyAgCisgcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVxICgpIHsKKyAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNPTi5zdHJpbmdpZnkp
OworIH0KK30gKTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zXzItMy1hLTMuanMKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMTIuM180LTEtMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuM180LTEtMS5qcwkocmV2aXNpb24gMTk5
NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjEyLjNfNC0xLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQot
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1F
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMTIuM180LTEtMSIsDQotDQotcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzQtMS0xLmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogIkpTT04uc3RyaW5naWZ5IGEgY2lyY3VsYXIgb2JqZWN0IHRocm93
cyBhIGVycm9yIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBvYmog
PSB7fTsNCi0gIG9iai5wcm9wID0gb2JqOw0KLSAgdHJ5IHsNCi0gICAgIEpTT04uc3RyaW5naWZ5
KG9iaik7DQotICAgICByZXR1cm4gZmFsc2U7ICAvLyBzaG91bGQgbm90IHJlYWNoIGhlcmUNCi0g
ICAgIH0NCi0gICBjYXRjaCAoZSkge3JldHVybiB0cnVlfQ0KLSAgfSwNCi0gIA0KLSBwcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXEgKCkgew0KLSAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNP
Ti5zdHJpbmdpZnkpOw0KLSB9DQotfSApOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4xMi4zXzQt
MS0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4z
XzQtMS0xLmpzIiwKKworZGVzY3JpcHRpb246ICJKU09OLnN0cmluZ2lmeSBhIGNpcmN1bGFyIG9i
amVjdCB0aHJvd3MgYSBlcnJvciIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2
YXIgb2JqID0ge307CisgIG9iai5wcm9wID0gb2JqOworICB0cnkgeworICAgICBKU09OLnN0cmlu
Z2lmeShvYmopOworICAgICByZXR1cm4gZmFsc2U7ICAvLyBzaG91bGQgbm90IHJlYWNoIGhlcmUK
KyAgICAgfQorICAgY2F0Y2ggKGUpIHtyZXR1cm4gdHJ1ZX0KKyAgfSwKKyAgCisgcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVxICgpIHsKKyAgcmV0dXJuIEpTT04gJiYgZm5FeGlzdHMoSlNPTi5z
dHJpbmdpZnkpOworIH0KK30gKTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zXzQtMS0xLmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjEyLjNfNC0xLTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjNfNC0xLTIuanMJKHJldmlz
aW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4xMi4zXzQtMS0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjEyLjNfNC0xLTIiLA0K
LQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjEyLzE1LjEyLjMvMTUuMTIuM180LTEt
Mi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJKU09OLnN0cmluZ2lmeSBhIGNpcmN1bGFyIG9iamVj
dCB0aHJvd3MgYSBUeXBlRXJyb3IiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LSAgdmFyIG9iaiA9IHt9Ow0KLSAgb2JqLnByb3AgPSBvYmo7DQotICB0cnkgew0KLSAgICAgSlNP
Ti5zdHJpbmdpZnkob2JqKTsNCi0gICAgIHJldHVybiBmYWxzZTsgIC8vIHNob3VsZCBub3QgcmVh
Y2ggaGVyZQ0KLSAgICAgfQ0KLSAgIGNhdGNoIChlKSB7cmV0dXJuIGUubmFtZT09PSdUeXBlRXJy
b3InfQ0KLSAgfSwNCi0gIA0KLSBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXEgKCkgew0KLSAg
IHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04uc3RyaW5naWZ5KTsNCi0gfQ0KLX0gKTsNCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsKK2lkOiAiMTUuMTIuM180LTEtMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjEyLzE1LjEyLjMvMTUuMTIuM180LTEtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAi
SlNPTi5zdHJpbmdpZnkgYSBjaXJjdWxhciBvYmplY3QgdGhyb3dzIGEgVHlwZUVycm9yIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBvYmogPSB7fTsKKyAgb2JqLnByb3Ag
PSBvYmo7CisgIHRyeSB7CisgICAgIEpTT04uc3RyaW5naWZ5KG9iaik7CisgICAgIHJldHVybiBm
YWxzZTsgIC8vIHNob3VsZCBub3QgcmVhY2ggaGVyZQorICAgICB9CisgICBjYXRjaCAoZSkge3Jl
dHVybiBlLm5hbWU9PT0nVHlwZUVycm9yJ30KKyAgfSwKKyAgCisgcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVxICgpIHsKKyAgIHJldHVybiBKU09OICYmIGZuRXhpc3RzKEpTT04uc3RyaW5naWZ5
KTsKKyB9Cit9ICk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMTIuM180LTEtMi5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4xMi4zXzQtMS0zLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4xMi4zXzQtMS0zLmpzCShyZXZpc2lvbiAxOTk1
NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
MTIuM180LTEtMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
DQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0v
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4xMi4zXzQtMS0zIiwNCi0NCi1wYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjNfNC0xLTMuanMiLA0K
LQ0KLWRlc2NyaXB0aW9uOiAiSlNPTi5zdHJpbmdpZnkgYSBpbmRpcmVjdGx5IGNpcmN1bGFyIG9i
amVjdCB0aHJvd3MgYSBlcnJvciIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQot
ICB2YXIgb2JqID0ge3AxOiB7cDI6IHt9fX07DQotICBvYmoucDEucDIucHJvcCA9IG9iajsNCi0g
IHRyeSB7DQotICAgICBKU09OLnN0cmluZ2lmeShvYmopOw0KLSAgICAgcmV0dXJuIGZhbHNlOyAg
Ly8gc2hvdWxkIG5vdCByZWFjaCBoZXJlDQotICAgICB9DQotICAgY2F0Y2ggKGUpIHtyZXR1cm4g
IHRydWV9DQotICB9LA0KLSAgDQotIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcSAoKSB7DQot
ICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09OLnN0cmluZ2lmeSk7DQotIH0NCi19ICk7DQor
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7CitpZDogIjE1LjEyLjNfNC0xLTMiLAorCitwYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjNfNC0xLTMuanMiLAorCitkZXNjcmlwdGlvbjog
IkpTT04uc3RyaW5naWZ5IGEgaW5kaXJlY3RseSBjaXJjdWxhciBvYmplY3QgdGhyb3dzIGEgZXJy
b3IiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIG9iaiA9IHtwMToge3Ay
OiB7fX19OworICBvYmoucDEucDIucHJvcCA9IG9iajsKKyAgdHJ5IHsKKyAgICAgSlNPTi5zdHJp
bmdpZnkob2JqKTsKKyAgICAgcmV0dXJuIGZhbHNlOyAgLy8gc2hvdWxkIG5vdCByZWFjaCBoZXJl
CisgICAgIH0KKyAgIGNhdGNoIChlKSB7cmV0dXJuICB0cnVlfQorICB9LAorICAKKyBwcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXEgKCkgeworICByZXR1cm4gSlNPTiAmJiBmbkV4aXN0cyhKU09O
LnN0cmluZ2lmeSk7CisgfQorfSApOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjEyLjNfNC0xLTMuanMKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xLmpzCShyZXZpc2lvbiAxOTk1
NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDEgKzEsNDEgQEAKLS8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
DQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xLzE1LjIuMy4xLmpzIiwNCi0NCi1kZXNj
cmlwdGlvbjogIk9iamVjdC5wcm90b3R5cGUgaXMgYSBkYXRhIHByb3BlcnR5IHdpdGggZGVmYXVs
dCBhdHRyaWJ1dGUgdmFsdWVzIChmYWxzZSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVj
dCwgJ3Byb3RvdHlwZScpOw0KLSAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQotICAg
ICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxl
ID09PSBmYWxzZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisv
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIx
NS4yLjMuMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIu
My4xLzE1LjIuMy4xLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QucHJvdG90eXBlIGlzIGEg
ZGF0YSBwcm9wZXJ0eSB3aXRoIGRlZmF1bHQgYXR0cmlidXRlIHZhbHVlcyAoZmFsc2UpIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICdwcm90b3R5cGUnKTsKKyAgaWYgKGRlc2Mud3JpdGFi
bGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAg
ICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQor
IH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlz
dHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEwLTAtMS5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjEwLTAtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMC0wLTEuanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsMzUgKzEsMzUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0K
LS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlk
OiAiMTUuMi4zLjEwLTAtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8x
NS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0wLTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2Jq
ZWN0LnByZXZlbnRFeHRlbnNpb25zIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiIsDQotDQotdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZiA9IE9iamVjdC5wcmV2ZW50RXh0ZW5z
aW9uczsNCi0gIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCi0gICAgcmV0dXJuIHRy
dWU7DQotICB9DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjEwLTAtMSIs
CisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMC8xNS4y
LjMuMTAtMC0xLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QucHJldmVudEV4dGVuc2lvbnMg
bXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
CisgIHZhciBmID0gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zOworICBpZiAodHlwZW9mKGYpID09
PSAiZnVuY3Rpb24iKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9Cit9KTsKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuMTAtMC0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMC0wLTIuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4xMC0wLTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTAtMC0yLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDM4ICsxLDM4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
Ci0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsNCi1pZDogIjE1LjIuMy4xMC0wLTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjIvMTUuMi4zLzE1LjIuMy4xMC8xNS4yLjMuMTAtMC0yLmpzIiwNCi0NCi1kZXNjcmlwdGlv
bjogIk9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFr
aW5nIDEgcGFyYW1ldGVyIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlm
IChPYmplY3QucHJldmVudEV4dGVuc2lvbnMubGVuZ3RoID09PSAxKSB7DQotICAgIHJldHVybiB0
cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0K
LSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyk7DQotIH0NCi19KTsN
CisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjEwLTAtMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMC8xNS4yLjMuMTAtMC0yLmpzIiwKKworZGVz
Y3JpcHRpb246ICJPYmplY3QucHJldmVudEV4dGVuc2lvbnMgbXVzdCBleGlzdCBhcyBhIGZ1bmN0
aW9uIHRha2luZyAxIHBhcmFtZXRlciIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewor
ICBpZiAoT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zLmxlbmd0aCA9PT0gMSkgeworICAgIHJldHVy
biB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7Cisg
IHJldHVybiBmbkV4aXN0cyhPYmplY3QucHJldmVudEV4dGVuc2lvbnMpOworIH0KK30pOwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4xMC0wLTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQoj
IyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEwLTEu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4xMC0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEwLTEuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNDMgKzEsNDMgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
Uw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0K
LS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
ew0KLWlkOiAiMTUuMi4zLjEwLTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjIvMTUuMi4zLzE1LjIuMy4xMC8xNS4yLjMuMTAtMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJP
YmplY3QucHJldmVudEV4dGVuc2lvbnMgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0
IHBhcmFtIGlzIG5vdCBPYmplY3QiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LSAgICB0cnkgew0KLSAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucygwKTsNCi0gICAgfQ0K
LSAgICBjYXRjaCAoZSkgew0KLSAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQot
ICAgICAgICByZXR1cm4gdHJ1ZTsNCi0gICAgICB9DQotICAgIH0NCi0gfSwNCi0NCi1wcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QucHJl
dmVudEV4dGVuc2lvbnMpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4x
MC0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEw
LzE1LjIuMy4xMC0xLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QucHJldmVudEV4dGVuc2lv
bnMgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3Qi
LAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgICB0cnkgeworICAgICAgT2JqZWN0
LnByZXZlbnRFeHRlbnNpb25zKDApOworICAgIH0KKyAgICBjYXRjaCAoZSkgeworICAgICAgaWYg
KGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICB9
CisgICAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1
cm4gZm5FeGlzdHMoT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKTsKKyB9Cit9KTsKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuMTAtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAg
KzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTAtMi5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjEwLTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTAtMi5qcwkod29ya2luZyBjb3B5KQpA
QCAtMSw0NSArMSw0NSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQot
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIA0KLQ0KLS8qDQotVGhlIGVmZmVjdCBvZiBwcmV2ZW50RXh0ZW50aW9u
cyBtdXN0IGJlIHRlc3RhYmxlIGJ5IGNhbGxpbmcgaXNFeHRlbnNpYmxlDQotKi8NCi0NCi1FUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjEwLTIiLA0KLQ0KLXBhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMC8xNS4yLjMuMTAtMi5qcyIs
DQotDQotZGVzY3JpcHRpb246ICJPYmplY3QucHJldmVudEV4dGVuc2lvbnMgcmV0dXJucyBpdHMg
YXJndW1lbnRzIGFmdGVyIHNldHRpbmcgaXRzIGV4dGVuc2libGUgcHJvcGVydHkgdG8gZmFsc2Ui
LA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIG8gID0ge307DQotICB2
YXIgbzIgPSB1bmRlZmluZWQ7DQotDQotICBvMiA9IE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhv
KTsNCi0gIGlmIChvMiA9PT0gbyAmJiBPYmplY3QuaXNFeHRlbnNpYmxlKG8yKSA9PT0gZmFsc2Up
IHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LnByZXZlbnRFeHRlbnNp
b25zKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8v
IAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KworLyoKK1RoZSBlZmZlY3Qgb2YgcHJldmVudEV4dGVudGlvbnMgbXVzdCBiZSB0ZXN0YWJsZSBi
eSBjYWxsaW5nIGlzRXh0ZW5zaWJsZQorKi8KKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsK
K2lkOiAiMTUuMi4zLjEwLTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1
LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTIuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5w
cmV2ZW50RXh0ZW5zaW9ucyByZXR1cm5zIGl0cyBhcmd1bWVudHMgYWZ0ZXIgc2V0dGluZyBpdHMg
ZXh0ZW5zaWJsZSBwcm9wZXJ0eSB0byBmYWxzZSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgeworICB2YXIgbyAgPSB7fTsKKyAgdmFyIG8yID0gdW5kZWZpbmVkOworCisgIG8yID0gT2Jq
ZWN0LnByZXZlbnRFeHRlbnNpb25zKG8pOworICBpZiAobzIgPT09IG8gJiYgT2JqZWN0LmlzRXh0
ZW5zaWJsZShvMikgPT09IGZhbHNlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitw
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVj
dC5wcmV2ZW50RXh0ZW5zaW9ucyk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEwLTIuanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTAtMS5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTAtMS5q
cwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4xMS0wLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzUgKzEs
MzUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8v
LyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0K
LS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQot
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyAN
Ci0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjEx
LTAtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4z
LjExLzE1LjIuMy4xMS0wLTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmlzU2VhbGVk
IG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotICB2YXIgZiA9IE9iamVjdC5pc1NlYWxlZDsNCi0gIGlmICh0eXBlb2YoZikgPT09ICJm
dW5jdGlvbiIpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0NCi19KTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKK2lkOiAiMTUuMi4zLjExLTAtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjIvMTUuMi4zLzE1LjIuMy4xMS8xNS4yLjMuMTEtMC0xLmpzIiwKKworZGVzY3JpcHRpb246
ICJPYmplY3QuaXNTZWFsZWQgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBmID0gT2JqZWN0LmlzU2VhbGVkOworICBpZiAodHlw
ZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9Cit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMTEtMC0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4x
MS0wLTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4xMS0wLTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtMC0yLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDM4ICsxLDM4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4xMS0wLTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMS8xNS4yLjMuMTEtMC0yLmpzIiwNCi0NCi1k
ZXNjcmlwdGlvbjogIk9iamVjdC5pc1NlYWxlZCBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFr
aW5nIDEgcGFyYW1ldGVyIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlm
IChPYmplY3QuaXNTZWFsZWQubGVuZ3RoID09PSAxKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAg
fQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJu
IGZuRXhpc3RzKE9iamVjdC5pc1NlYWxlZCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTUuMi4zLjExLTAtMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUu
Mi4zLzE1LjIuMy4xMS8xNS4yLjMuMTEtMC0yLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3Qu
aXNTZWFsZWQgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlciIsCisK
K3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZiAoT2JqZWN0LmlzU2VhbGVkLmxlbmd0
aCA9PT0gMSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNTZWFsZWQpOwor
IH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS0wLTIuanMKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjExLTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTEu
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDMgKzEsNDMgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQot
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjExLTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMS8xNS4yLjMuMTEtMS5qcyIsDQotDQotZGVz
Y3JpcHRpb246ICJPYmplY3QuaXNTZWFsZWQgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZp
cnN0IHBhcmFtIGlzIG5vdCBPYmplY3QiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
ew0KLSAgICB0cnkgew0KLSAgICAgIE9iamVjdC5pc1NlYWxlZCgwKTsNCi0gICAgfQ0KLSAgICBj
YXRjaCAoZSkgew0KLSAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQotICAgICAg
ICByZXR1cm4gdHJ1ZTsNCi0gICAgICB9DQotICAgIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNTZWFsZWQp
Ow0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisv
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisv
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4xMS0xIiwKKworcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS0xLmpz
IiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuaXNTZWFsZWQgdGhyb3dzIFR5cGVFcnJvciBpZiB0
eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3QiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsKKyAgICB0cnkgeworICAgICAgT2JqZWN0LmlzU2VhbGVkKDApOworICAgIH0KKyAg
ICBjYXRjaCAoZSkgeworICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsKKyAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgICB9CisgICAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzU2VhbGVkKTsKKyB9
Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMTEtNC0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQt
MS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTEtNC0xIiwNCi0NCi1wYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMS5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1
aWx0LWluIG9iamVjdHMgKEdsb2JhbCkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
ew0KLSAgLy8gaW4gbm9uLXN0cmljdCBtb2RlLCAndGhpcycgaXMgYm91bmQgdG8gdGhlIGdsb2Jh
bCBvYmplY3QuDQotICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZCh0aGlzKTsNCi0gIGlmIChiID09
PSBmYWxzZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNTZWFs
ZWQpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
CisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8g
CisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4xMS00LTEiLAorCitw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjEx
LTQtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2Ug
Zm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChHbG9iYWwpIiwKKwordGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7CisgIC8vIGluIG5vbi1zdHJpY3QgbW9kZSwgJ3RoaXMnIGlzIGJvdW5kIHRvIHRo
ZSBnbG9iYWwgb2JqZWN0LgorICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZCh0aGlzKTsKKyAgaWYg
KGIgPT09IGZhbHNlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc1NlYWxl
ZCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtMS5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMTEtNC0xMC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtMTAuanMJKHJldmlzaW9uIDE5
OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMTEtNC0xMC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOSArMSwzOSBAQAotLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYN
Ci0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0K
LUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTEtNC0xMCIsDQotDQot
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4x
MS00LTEwLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5pc1NlYWxlZCByZXR1cm5zIGZh
bHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoQm9vbGVhbikiLA0KLQ0KLXRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoQm9vbGVhbik7DQot
ICBpZiAoYiA9PT0gZmFsc2UpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQot
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2Jq
ZWN0LmlzU2VhbGVkKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMTEt
NC0xMCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4x
MS8xNS4yLjMuMTEtNC0xMC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmlzU2VhbGVkIHJl
dHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChCb29sZWFuKSIsCisKK3Rlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChCb29sZWFu
KTsKKyAgaWYgKGIgPT09IGZhbHNlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitw
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVj
dC5pc1NlYWxlZCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtMTAuanMKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtMTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTExLmpzCShy
ZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjExLTQtMTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzkgKzEsMzkg
QEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyAN
Ci0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0v
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjExLTQt
MTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4x
MS8xNS4yLjMuMTEtNC0xMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuaXNTZWFsZWQg
cmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEJvb2xlYW4ucHJvdG90eXBl
KSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgYiA9IE9iamVjdC5p
c1NlYWxlZChCb29sZWFuLnByb3RvdHlwZSk7DQotICBpZiAoYiA9PT0gZmFsc2UpIHsNCi0gICAg
cmV0dXJuIHRydWU7DQotICB9DQotICB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc1NlYWxlZCk7DQotIH0NCi19KTsN
CisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjExLTQtMTEiLAorCitwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMTEuanMiLAorCitk
ZXNjcmlwdGlvbjogIk9iamVjdC5pc1NlYWxlZCByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQt
aW4gb2JqZWN0cyAoQm9vbGVhbi5wcm90b3R5cGUpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7CisgIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKEJvb2xlYW4ucHJvdG90eXBlKTsKKyAg
aWYgKGIgPT09IGZhbHNlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyAgfSwKKworcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNT
ZWFsZWQpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTExLmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4xMS00LTEyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC0xMi5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4xMS00LTEyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5IEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4xMS00LTEyIiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUu
Mi4zLjExLTQtMTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmlzU2VhbGVkIHJldHVy
bnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChOdW1iZXIpIiwNCi0NCi10ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKE51bWJlcik7
DQotICBpZiAoYiA9PT0gZmFsc2UpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotICB9LA0K
LQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3Rz
KE9iamVjdC5pc1NlYWxlZCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4z
LjExLTQtMTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4y
LjMuMTEvMTUuMi4zLjExLTQtMTIuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5pc1NlYWxl
ZCByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoTnVtYmVyKSIsCisKK3Rl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChOdW1i
ZXIpOworICBpZiAoYiA9PT0gZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorICB9LAor
CitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9i
amVjdC5pc1NlYWxlZCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtMTIuanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtMTMuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTEzLmpz
CShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtMTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzkgKzEs
MzkgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8v
LyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0K
LS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQot
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyAN
Ci0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjEx
LTQtMTMiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIu
My4xMS8xNS4yLjMuMTEtNC0xMy5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuaXNTZWFs
ZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE51bWJlci5wcm90b3R5
cGUpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBiID0gT2JqZWN0
LmlzU2VhbGVkKE51bWJlci5wcm90b3R5cGUpOw0KLSAgaWYgKGIgPT09IGZhbHNlKSB7DQotICAg
IHJldHVybiB0cnVlOw0KLSAgfQ0KLSAgfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNTZWFsZWQpOw0KLSB9DQotfSk7
DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisv
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4xMS00LTEzIiwKKworcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTEzLmpzIiwKKwor
ZGVzY3JpcHRpb246ICJPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0
LWluIG9iamVjdHMgKE51bWJlci5wcm90b3R5cGUpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7CisgIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKE51bWJlci5wcm90b3R5cGUpOworICBp
ZiAoYiA9PT0gZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorICB9LAorCitwcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc1Nl
YWxlZCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtMTMuanMKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjExLTQtMTQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTE0LmpzCShyZXZpc2lv
biAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjExLTQtMTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzkgKzEsMzkgQEAKLS8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjExLTQtMTQiLA0K
LQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMS8xNS4y
LjMuMTEtNC0xNC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuaXNTZWFsZWQgcmV0dXJu
cyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE1hdGgpIiwNCi0NCi10ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKE1hdGgpOw0KLSAg
aWYgKGIgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSAgfSwNCi0NCi1w
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmpl
Y3QuaXNTZWFsZWQpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4xMS00
LTE0IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEx
LzE1LjIuMy4xMS00LTE0LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuaXNTZWFsZWQgcmV0
dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE1hdGgpIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKE1hdGgpOworICBp
ZiAoYiA9PT0gZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorICB9LAorCitwcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc1Nl
YWxlZCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtMTQuanMKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjExLTQtMTUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTE1LmpzCShyZXZpc2lv
biAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjExLTQtMTUuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzkgKzEsMzkgQEAKLS8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjExLTQtMTUiLA0K
LQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMS8xNS4y
LjMuMTEtNC0xNS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuaXNTZWFsZWQgcmV0dXJu
cyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKERhdGUpIiwNCi0NCi10ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKERhdGUpOw0KLSAg
aWYgKGIgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSAgfSwNCi0NCi1w
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmpl
Y3QuaXNTZWFsZWQpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4xMS00
LTE1IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEx
LzE1LjIuMy4xMS00LTE1LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuaXNTZWFsZWQgcmV0
dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKERhdGUpIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKERhdGUpOworICBp
ZiAoYiA9PT0gZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorICB9LAorCitwcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc1Nl
YWxlZCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtMTUuanMKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjExLTQtMTYuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTE2LmpzCShyZXZpc2lv
biAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjExLTQtMTYuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzkgKzEsMzkgQEAKLS8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjExLTQtMTYiLA0K
LQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMS8xNS4y
LjMuMTEtNC0xNi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuaXNTZWFsZWQgcmV0dXJu
cyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKERhdGUucHJvdG90eXBlKSIsDQotDQot
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChE
YXRlLnByb3RvdHlwZSk7DQotICBpZiAoYiA9PT0gZmFsc2UpIHsNCi0gICAgcmV0dXJuIHRydWU7
DQotICB9DQotICB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAg
cmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc1NlYWxlZCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTUuMi4zLjExLTQtMTYiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMTYuanMiLAorCitkZXNjcmlwdGlvbjog
Ik9iamVjdC5pc1NlYWxlZCByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAo
RGF0ZS5wcm90b3R5cGUpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBi
ID0gT2JqZWN0LmlzU2VhbGVkKERhdGUucHJvdG90eXBlKTsKKyAgaWYgKGIgPT09IGZhbHNlKSB7
CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyAgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNTZWFsZWQpOworIH0KK30pOwoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4xMS00LTE2LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4x
MS00LTE3LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC0xNy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTE3
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5IEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4xMS00LTE3IiwNCi0NCi1wYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMTcuanMiLA0K
LQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBi
dWlsdC1pbiBvYmplY3RzIChSZWdFeHApIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsNCi0gIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKFJlZ0V4cCk7DQotICBpZiAoYiA9PT0gZmFs
c2UpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotICB9LA0KLQ0KLXByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc1NlYWxlZCk7
DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKwor
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjExLTQtMTciLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQt
MTcuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5pc1NlYWxlZCByZXR1cm5zIGZhbHNlIGZv
ciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoUmVnRXhwKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgeworICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChSZWdFeHApOworICBpZiAoYiA9PT0g
ZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorICB9LAorCitwcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc1NlYWxlZCk7Cisg
fQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtMTcuanMKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjExLTQtMTguanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTE4LmpzCShyZXZpc2lvbiAxOTk1NDkp
CisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4z
LjExLTQtMTguanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzkgKzEsMzkgQEAKLS8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0K
LS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjExLTQtMTgiLA0KLQ0KLXBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMS8xNS4yLjMuMTEtNC0x
OC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBm
b3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFJlZ0V4cC5wcm90b3R5cGUpIiwNCi0NCi10ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKFJlZ0V4cC5w
cm90b3R5cGUpOw0KLSAgaWYgKGIgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAg
fQ0KLSAgfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVy
biBmbkV4aXN0cyhPYmplY3QuaXNTZWFsZWQpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7Citp
ZDogIjE1LjIuMy4xMS00LTE4IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8x
NS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTE4LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmpl
Y3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFJlZ0V4
cC5wcm90b3R5cGUpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBiID0g
T2JqZWN0LmlzU2VhbGVkKFJlZ0V4cC5wcm90b3R5cGUpOworICBpZiAoYiA9PT0gZmFsc2UpIHsK
KyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorICB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc1NlYWxlZCk7CisgfQorfSk7CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjExLTQtMTguanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHls
ZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEx
LTQtMTkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTE5LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtMTku
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzkgKzEsMzkgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQot
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjExLTQtMTkiLA0KLQ0KLXBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMS8xNS4yLjMuMTEtNC0xOS5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1
aWx0LWluIG9iamVjdHMgKEVycm9yKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
DQotICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChFcnJvcik7DQotICBpZiAoYiA9PT0gZmFsc2Up
IHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotICB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc1NlYWxlZCk7DQot
IH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAK
Ky8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
CisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYK
Ky8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjExLTQtMTkiLAorCitwYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMTku
anMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5pc1NlYWxlZCByZXR1cm5zIGZhbHNlIGZvciBh
bGwgYnVpbHQtaW4gb2JqZWN0cyAoRXJyb3IpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7CisgIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKEVycm9yKTsKKyAgaWYgKGIgPT09IGZhbHNl
KSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyAgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNTZWFsZWQpOworIH0KK30p
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTE5LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4xMS00LTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC0y
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5IEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4xMS00LTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMS8xNS4yLjMuMTEtNC0yLmpzIiwNCi0N
Ci1kZXNjcmlwdGlvbjogIk9iamVjdC5pc1NlYWxlZCByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVp
bHQtaW4gb2JqZWN0cyAoT2JqZWN0KSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
DQotICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChPYmplY3QpOw0KLSAgaWYgKGIgPT09IGZhbHNl
KSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc1NlYWxlZCk7DQot
IH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAK
Ky8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
CisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYK
Ky8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjExLTQtMiIsCisKK3BhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMS8xNS4yLjMuMTEtNC0yLmpz
IiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxs
IGJ1aWx0LWluIG9iamVjdHMgKE9iamVjdCkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsKKyAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoT2JqZWN0KTsKKyAgaWYgKGIgPT09IGZhbHNl
KSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc1NlYWxlZCk7CisgfQorfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
MTEtNC0yMC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtMjAuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC0y
MC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOSArMSwzOSBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTEtNC0yMCIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTIwLmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5pc1NlYWxlZCByZXR1cm5zIGZhbHNlIGZvciBhbGwg
YnVpbHQtaW4gb2JqZWN0cyAoRXJyb3IucHJvdG90eXBlKSIsDQotDQotdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7DQotICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChFcnJvci5wcm90b3R5cGUp
Ow0KLSAgaWYgKGIgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSAgfSwN
Ci0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0
cyhPYmplY3QuaXNTZWFsZWQpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisv
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIu
My4xMS00LTIwIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUu
Mi4zLjExLzE1LjIuMy4xMS00LTIwLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuaXNTZWFs
ZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEVycm9yLnByb3RvdHlw
ZSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGIgPSBPYmplY3QuaXNT
ZWFsZWQoRXJyb3IucHJvdG90eXBlKTsKKyAgaWYgKGIgPT09IGZhbHNlKSB7CisgICAgcmV0dXJu
IHRydWU7CisgIH0KKyAgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7Cisg
IHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNTZWFsZWQpOworIH0KK30pOwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4xMS00LTIwLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCAr
MSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTIxLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuMTEtNC0yMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTIxLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDM5ICsxLDM5IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
Ci0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsNCi1pZDogIjE1LjIuMy4xMS00LTIxIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMjEuanMiLA0KLQ0KLWRlc2NyaXB0
aW9uOiAiT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmpl
Y3RzIChFdmFsRXJyb3IpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZh
ciBiID0gT2JqZWN0LmlzU2VhbGVkKEV2YWxFcnJvcik7DQotICBpZiAoYiA9PT0gZmFsc2UpIHsN
Ci0gICAgcmV0dXJuIHRydWU7DQotICB9DQotICB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc1NlYWxlZCk7DQotIH0N
Ci19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8v
LyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisv
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjExLTQtMjEiLAorCitwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMjEuanMi
LAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5pc1NlYWxlZCByZXR1cm5zIGZhbHNlIGZvciBhbGwg
YnVpbHQtaW4gb2JqZWN0cyAoRXZhbEVycm9yKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgeworICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChFdmFsRXJyb3IpOworICBpZiAoYiA9PT0g
ZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorICB9LAorCitwcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc1NlYWxlZCk7Cisg
fQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtMjEuanMKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjExLTQtMjIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTIyLmpzCShyZXZpc2lvbiAxOTk1NDkp
CisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4z
LjExLTQtMjIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzkgKzEsMzkgQEAKLS8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0K
LS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjExLTQtMjIiLA0KLQ0KLXBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMS8xNS4yLjMuMTEtNC0y
Mi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBm
b3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFJhbmdlRXJyb3IpIiwNCi0NCi10ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKFJhbmdlRXJyb3IpOw0K
LSAgaWYgKGIgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSAgfSwNCi0N
Ci1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhP
YmplY3QuaXNTZWFsZWQpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4x
MS00LTIyIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4z
LjExLzE1LjIuMy4xMS00LTIyLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuaXNTZWFsZWQg
cmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFJhbmdlRXJyb3IpIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKFJh
bmdlRXJyb3IpOworICBpZiAoYiA9PT0gZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQor
ICB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhp
c3RzKE9iamVjdC5pc1NlYWxlZCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtMjIu
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtMjMuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS00
LTIzLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtMjMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
MzkgKzEsMzkgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUu
Mi4zLjExLTQtMjMiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4z
LzE1LjIuMy4xMS8xNS4yLjMuMTEtNC0yMy5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3Qu
aXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFJlZmVyZW5j
ZUVycm9yKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgYiA9IE9i
amVjdC5pc1NlYWxlZChSZWZlcmVuY2VFcnJvcik7DQotICBpZiAoYiA9PT0gZmFsc2UpIHsNCi0g
ICAgcmV0dXJuIHRydWU7DQotICB9DQotICB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc1NlYWxlZCk7DQotIH0NCi19
KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAK
Ky8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjExLTQtMjMiLAorCitwYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMjMuanMiLAor
CitkZXNjcmlwdGlvbjogIk9iamVjdC5pc1NlYWxlZCByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVp
bHQtaW4gb2JqZWN0cyAoUmVmZXJlbmNlRXJyb3IpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7CisgIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKFJlZmVyZW5jZUVycm9yKTsKKyAgaWYg
KGIgPT09IGZhbHNlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyAgfSwKKworcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNTZWFs
ZWQpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTIzLmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4xMS00LTI0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC0yNC5qcwkocmV2aXNpb24g
MTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4xMS00LTI0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5IEBACi0vLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
Rg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4xMS00LTI0IiwNCi0N
Ci1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4z
LjExLTQtMjQuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmlzU2VhbGVkIHJldHVybnMg
ZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChTeW50YXhFcnJvcikiLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoU3ludGF4
RXJyb3IpOw0KLSAgaWYgKGIgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0K
LSAgfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBm
bkV4aXN0cyhPYmplY3QuaXNTZWFsZWQpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDog
IjE1LjIuMy4xMS00LTI0IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4y
LjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTI0LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3Qu
aXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFN5bnRheEVy
cm9yKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgYiA9IE9iamVjdC5p
c1NlYWxlZChTeW50YXhFcnJvcik7CisgIGlmIChiID09PSBmYWxzZSkgeworICAgIHJldHVybiB0
cnVlOworICB9CisgIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICBy
ZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzU2VhbGVkKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMTEtNC0yNC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC0yNS5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjExLTQtMjUuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC0yNS5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSwzOSArMSwzOSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
DQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQot
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
DQotaWQ6ICIxNS4yLjMuMTEtNC0yNSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTI1LmpzIiwNCi0NCi1kZXNjcmlwdGlv
bjogIk9iamVjdC5pc1NlYWxlZCByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0
cyAoVHlwZUVycm9yKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIg
YiA9IE9iamVjdC5pc1NlYWxlZChUeXBlRXJyb3IpOw0KLSAgaWYgKGIgPT09IGZhbHNlKSB7DQot
ICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSAgfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNTZWFsZWQpOw0KLSB9DQot
fSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8g
CisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwK
Ky8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4xMS00LTI1IiwKKworcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTI1LmpzIiwK
KworZGVzY3JpcHRpb246ICJPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1
aWx0LWluIG9iamVjdHMgKFR5cGVFcnJvcikiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsKKyAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoVHlwZUVycm9yKTsKKyAgaWYgKGIgPT09IGZh
bHNlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyAgfSwKKworcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNTZWFsZWQpOworIH0K
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTI1LmpzCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
b2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4xMS00LTI2LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC0yNi5qcwkocmV2aXNpb24gMTk5NTQ5KQor
KysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4x
MS00LTI2LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5IEBACi0vLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0v
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4xMS00LTI2IiwNCi0NCi1wYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMjYu
anMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9y
IGFsbCBidWlsdC1pbiBvYmplY3RzIChVUklFcnJvcikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgew0KLSAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoVVJJRXJyb3IpOw0KLSAgaWYg
KGIgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSAgfSwNCi0NCi1wcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3Qu
aXNTZWFsZWQpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4xMS00LTI2
IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1
LjIuMy4xMS00LTI2LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuaXNTZWFsZWQgcmV0dXJu
cyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFVSSUVycm9yKSIsCisKK3Rlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChVUklFcnJvcik7
CisgIGlmIChiID09PSBmYWxzZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgIH0sCisKK3By
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0
LmlzU2VhbGVkKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC0yNi5qcwpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC0yNy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtMjcuanMJKHJl
dmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMTEtNC0yNy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOSArMSwzOSBA
QAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0K
LS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTEtNC0y
NyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEx
LzE1LjIuMy4xMS00LTI3LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5pc1NlYWxlZCBy
ZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoSlNPTikiLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoSlNPTik7
DQotICBpZiAoYiA9PT0gZmFsc2UpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotICB9LA0K
LQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3Rz
KE9iamVjdC5pc1NlYWxlZCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4z
LjExLTQtMjciLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4y
LjMuMTEvMTUuMi4zLjExLTQtMjcuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5pc1NlYWxl
ZCByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoSlNPTikiLAorCit0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoSlNPTik7
CisgIGlmIChiID09PSBmYWxzZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgIH0sCisKK3By
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0
LmlzU2VhbGVkKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC0yNy5qcwpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC0zLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC0zLmpzCShyZXZp
c2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjExLTQtMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOSArMSwzOSBAQAot
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0K
LQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTEtNC0zIiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUu
Mi4zLjExLTQtMy5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuaXNTZWFsZWQgcmV0dXJu
cyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE9iamVjdC5wcm90b3R5cGUpIiwNCi0N
Ci10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBiID0gT2JqZWN0LmlzU2VhbGVk
KE9iamVjdC5wcm90b3R5cGUpOw0KLSAgaWYgKGIgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0
cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0K
LSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc1NlYWxlZCk7DQotIH0NCi19KTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKK2lkOiAiMTUuMi4zLjExLTQtMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjIvMTUuMi4zLzE1LjIuMy4xMS8xNS4yLjMuMTEtNC0zLmpzIiwKKworZGVzY3JpcHRpb246
ICJPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMg
KE9iamVjdC5wcm90b3R5cGUpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZh
ciBiID0gT2JqZWN0LmlzU2VhbGVkKE9iamVjdC5wcm90b3R5cGUpOworICBpZiAoYiA9PT0gZmFs
c2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzU2VhbGVkKTsKKyB9Cit9
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC0zLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4xMS00LTQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTQuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC00
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5IEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4xMS00LTQiLA0KLQ0KLXBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMS8xNS4yLjMuMTEtNC00LmpzIiwNCi0N
Ci1kZXNjcmlwdGlvbjogIk9iamVjdC5pc1NlYWxlZCByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVp
bHQtaW4gb2JqZWN0cyAoRnVuY3Rpb24pIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsNCi0gIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKEZ1bmN0aW9uKTsNCi0gIGlmIChiID09PSBm
YWxzZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gIH0sDQotDQotcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzU2VhbGVk
KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bwor
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAor
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKwor
CitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMTEtNC00IiwKKworcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00
LTQuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5pc1NlYWxlZCByZXR1cm5zIGZhbHNlIGZv
ciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoRnVuY3Rpb24pIiwKKwordGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7CisgIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKEZ1bmN0aW9uKTsKKyAgaWYgKGIg
PT09IGZhbHNlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyAgfSwKKworcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNTZWFsZWQp
OworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTQuanMKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjExLTQtNS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtNS5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4xMS00LTUuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzkgKzEsMzkgQEAKLS8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0K
LS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjExLTQtNSIsDQotDQotcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTUu
anMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9y
IGFsbCBidWlsdC1pbiBvYmplY3RzIChGdW5jdGlvbi5wcm90b3R5cGUpIiwNCi0NCi10ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKEZ1bmN0aW9u
LnByb3RvdHlwZSk7DQotICBpZiAoYiA9PT0gZmFsc2UpIHsNCi0gICAgcmV0dXJuIHRydWU7DQot
ICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1
cm4gZm5FeGlzdHMoT2JqZWN0LmlzU2VhbGVkKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxNS4yLjMuMTEtNC01IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8x
NS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTUuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVj
dC5pc1NlYWxlZCByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoRnVuY3Rp
b24ucHJvdG90eXBlKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgYiA9
IE9iamVjdC5pc1NlYWxlZChGdW5jdGlvbi5wcm90b3R5cGUpOworICBpZiAoYiA9PT0gZmFsc2Up
IHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzU2VhbGVkKTsKKyB9Cit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC01LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4x
MS00LTYuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC02Lmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4xMS00LTYiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMS8xNS4yLjMuMTEtNC02LmpzIiwNCi0NCi1k
ZXNjcmlwdGlvbjogIk9iamVjdC5pc1NlYWxlZCByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQt
aW4gb2JqZWN0cyAoQXJyYXkpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0g
IHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKEFycmF5KTsNCi0gIGlmIChiID09PSBmYWxzZSkgew0K
LSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNTZWFsZWQpOw0KLSB9DQot
fSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8g
CisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwK
Ky8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4xMS00LTYiLAorCitwYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtNi5qcyIsCisK
K2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWls
dC1pbiBvYmplY3RzIChBcnJheSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAg
dmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoQXJyYXkpOworICBpZiAoYiA9PT0gZmFsc2UpIHsKKyAg
ICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzU2VhbGVkKTsKKyB9Cit9KTsKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMTEtNC02LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMg
LTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTcu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4xMS00LTcuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC03LmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQot
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsNCi1pZDogIjE1LjIuMy4xMS00LTciLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMS8xNS4yLjMuMTEtNC03LmpzIiwNCi0NCi1kZXNjcmlw
dGlvbjogIk9iamVjdC5pc1NlYWxlZCByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2Jq
ZWN0cyAoQXJyYXkucHJvdG90eXBlKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
DQotICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChBcnJheS5wcm90b3R5cGUpOw0KLSAgaWYgKGIg
PT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc1Nl
YWxlZCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8v
LyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjExLTQtNyIsCisK
K3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMS8xNS4yLjMu
MTEtNC03LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxz
ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEFycmF5LnByb3RvdHlwZSkiLAorCit0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoQXJyYXkucHJv
dG90eXBlKTsKKyAgaWYgKGIgPT09IGZhbHNlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9
LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3Rz
KE9iamVjdC5pc1NlYWxlZCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtNy5qcwpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC04LmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC04Lmpz
CShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjExLTQtOC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOSArMSwz
OSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8v
IA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQot
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0v
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0K
LS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTEt
NC04IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMu
MTEvMTUuMi4zLjExLTQtOC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuaXNTZWFsZWQg
cmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFN0cmluZykiLA0KLQ0KLXRl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoU3Ry
aW5nKTsNCi0gIGlmIChiID09PSBmYWxzZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi19
LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhp
c3RzKE9iamVjdC5pc1NlYWxlZCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MK
Ky8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUu
Mi4zLjExLTQtOCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1
LjIuMy4xMS8xNS4yLjMuMTEtNC04LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuaXNTZWFs
ZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFN0cmluZykiLAorCit0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoU3Ry
aW5nKTsKKyAgaWYgKGIgPT09IGZhbHNlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KK30sCisK
K3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2Jq
ZWN0LmlzU2VhbGVkKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTEtNC04LmpzCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTkuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTkuanMJKHJl
dmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMTEtNC05LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5IEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
DQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4xMS00LTki
LA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMS8x
NS4yLjMuMTEtNC05LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5pc1NlYWxlZCByZXR1
cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoU3RyaW5nLnByb3RvdHlwZSkiLA0K
LQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGIgPSBPYmplY3QuaXNTZWFs
ZWQoU3RyaW5nLnByb3RvdHlwZSk7DQotICBpZiAoYiA9PT0gZmFsc2UpIHsNCi0gICAgcmV0dXJu
IHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzU2VhbGVkKTsNCi0gfQ0KLX0pOw0KKy8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisv
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggeworaWQ6ICIxNS4yLjMuMTEtNC05IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTkuanMiLAorCitkZXNjcmlwdGlv
bjogIk9iamVjdC5pc1NlYWxlZCByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0
cyAoU3RyaW5nLnByb3RvdHlwZSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAg
dmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoU3RyaW5nLnByb3RvdHlwZSk7CisgIGlmIChiID09PSBm
YWxzZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNTZWFsZWQpOworIH0K
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMS00LTkuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjEyLTAtMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEyLTAtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0w
LTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzUgKzEsMzUgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjEyLTAtMSIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0wLTEuanMiLA0K
LQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmlzRnJvemVuIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlv
biIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZiA9IE9iamVjdC5p
c0Zyb3plbjsNCi0gIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCi0gICAgcmV0dXJu
IHRydWU7DQotICB9DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjEyLTAt
MSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMi8x
NS4yLjMuMTItMC0xLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuaXNGcm96ZW4gbXVzdCBl
eGlzdCBhcyBhIGZ1bmN0aW9uIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZh
ciBmID0gT2JqZWN0LmlzRnJvemVuOworICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7
CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMC0x
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0wLTIuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0w
LTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMC0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM4
ICsxLDM4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAN
Ci0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0v
Ly8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIu
My4xMi0wLTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1
LjIuMy4xMi8xNS4yLjMuMTItMC0yLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5pc0Zy
b3plbiBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDEgcGFyYW1ldGVyIiwNCi0NCi10
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmIChPYmplY3QuaXNGcm96ZW4ubGVuZ3Ro
ID09PSAxKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0Zyb3pl
bik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8K
Ky8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAK
Ky8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisK
KworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjEyLTAtMiIsCisKK3Bh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMi8xNS4yLjMuMTIt
MC0yLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuaXNGcm96ZW4gbXVzdCBleGlzdCBhcyBh
IGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlciIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgeworICBpZiAoT2JqZWN0LmlzRnJvemVuLmxlbmd0aCA9PT0gMSkgeworICAgIHJldHVybiB0
cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJl
dHVybiBmbkV4aXN0cyhPYmplY3QuaXNGcm96ZW4pOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4xMi0wLTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEyLTEuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4xMi0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEyLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
NDMgKzEsNDMgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUu
Mi4zLjEyLTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1
LjIuMy4xMi8xNS4yLjMuMTItMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuaXNGcm96
ZW4gdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3Qi
LA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgICB0cnkgew0KLSAgICAgIE9i
amVjdC5pc0Zyb3plbigwKTsNCi0gICAgfQ0KLSAgICBjYXRjaCAoZSkgew0KLSAgICAgIGlmIChl
IGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQotICAgICAgICByZXR1cm4gdHJ1ZTsNCi0gICAgICB9
DQotICAgIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0g
IHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNGcm96ZW4pOw0KLSB9DQotfSk7DQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7CitpZDogIjE1LjIuMy4xMi0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
Mi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0xLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmpl
Y3QuaXNGcm96ZW4gdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG5v
dCBPYmplY3QiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgICB0cnkgeworICAg
ICAgT2JqZWN0LmlzRnJvemVuKDApOworICAgIH0KKyAgICBjYXRjaCAoZSkgeworICAgICAgaWYg
KGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICB9
CisgICAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1
cm4gZm5FeGlzdHMoT2JqZWN0LmlzRnJvemVuKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
MTItMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xG
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy0xLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
MTItMy0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEyLTMtMS5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSw0MSArMSw0MSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIx
NS4yLjMuMTItMy0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIu
My8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3Qu
aXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEdsb2JhbCki
LA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgLy8gaW4gbm9uLXN0cmljdCBt
b2RlLCAndGhpcycgaXMgYm91bmQgdG8gdGhlIGdsb2JhbCBvYmplY3QuDQotICB2YXIgYiA9IE9i
amVjdC5pc0Zyb3plbih0aGlzKTsNCi0gIGlmIChiID09PSBmYWxzZSkgew0KLSAgICByZXR1cm4g
dHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsN
Ci0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNGcm96ZW4pOw0KLSB9DQotDQotfSk7DQorLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
Ky8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4xMi0zLTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMS5qcyIsCisKK2Rlc2NyaXB0
aW9uOiAiT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmpl
Y3RzIChHbG9iYWwpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIC8vIGluIG5v
bi1zdHJpY3QgbW9kZSwgJ3RoaXMnIGlzIGJvdW5kIHRvIHRoZSBnbG9iYWwgb2JqZWN0LgorICB2
YXIgYiA9IE9iamVjdC5pc0Zyb3plbih0aGlzKTsKKyAgaWYgKGIgPT09IGZhbHNlKSB7CisgICAg
cmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0Zyb3plbik7CisgfQorCit9KTsKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMTItMy0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMg
LTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0zLTEw
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMTItMy0xMC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0zLTEwLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDQwICsxLDQwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
DQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsNCi1pZDogIjE1LjIuMy4xMi0zLTEwIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMTAuanMiLA0KLQ0KLWRl
c2NyaXB0aW9uOiAiT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1p
biBvYmplY3RzIChCb29sZWFuKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQot
ICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihCb29sZWFuKTsNCi0gIGlmIChiID09PSBmYWxzZSkg
ew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNGcm96ZW4pOw0KLSB9
DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
CisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
CisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4xMi0zLTEwIiwKKworcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTEw
LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3Ig
YWxsIGJ1aWx0LWluIG9iamVjdHMgKEJvb2xlYW4pIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7CisgIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKEJvb2xlYW4pOworICBpZiAoYiA9PT0g
ZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzRnJvemVuKTsKKyB9
CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0zLTEwLmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4xMi0zLTExLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy0xMS5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4xMi0zLTExLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQwICsxLDQwIEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4xMi0zLTExIiwNCi0NCi1wYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMt
MTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2Ug
Zm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChCb29sZWFuLnByb3RvdHlwZSkiLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oQm9vbGVh
bi5wcm90b3R5cGUpOw0KLSAgaWYgKGIgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0K
LSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0
dXJuIGZuRXhpc3RzKE9iamVjdC5pc0Zyb3plbik7DQotIH0NCi0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTUuMi4zLjEyLTMtMTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMTEuanMiLAorCitkZXNjcmlwdGlvbjog
Ik9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAo
Qm9vbGVhbi5wcm90b3R5cGUpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZh
ciBiID0gT2JqZWN0LmlzRnJvemVuKEJvb2xlYW4ucHJvdG90eXBlKTsKKyAgaWYgKGIgPT09IGZh
bHNlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0Zyb3plbik7CisgfQor
Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy0xMS5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMTItMy0xMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEyLTMtMTIuanMJKHJldmlzaW9uIDE5OTU0OSkK
KysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
MTItMy0xMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAotLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQot
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTItMy0xMiIsDQotDQotcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTEy
LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGZv
ciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoTnVtYmVyKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7DQotICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihOdW1iZXIpOw0KLSAgaWYgKGIg
PT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0Zy
b3plbik7DQotIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjEyLTMtMTIi
LAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUu
Mi4zLjEyLTMtMTIuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5pc0Zyb3plbiByZXR1cm5z
IGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoTnVtYmVyKSIsCisKK3Rlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgeworICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihOdW1iZXIpOworICBp
ZiAoYiA9PT0gZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzRnJv
emVuKTsKKyB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0zLTEyLmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4xMi0zLTEzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy0xMy5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4xMi0zLTEzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQwICsxLDQwIEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4xMi0zLTEzIiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUu
Mi4zLjEyLTMtMTMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmlzRnJvemVuIHJldHVy
bnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChOdW1iZXIucHJvdG90eXBlKSIsDQot
DQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgYiA9IE9iamVjdC5pc0Zyb3pl
bihOdW1iZXIucHJvdG90eXBlKTsNCi0gIGlmIChiID09PSBmYWxzZSkgew0KLSAgICByZXR1cm4g
dHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsN
Ci0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNGcm96ZW4pOw0KLSB9DQotDQotfSk7DQorLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
Ky8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4xMi0zLTEzIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTEzLmpzIiwKKworZGVzY3Jp
cHRpb246ICJPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9i
amVjdHMgKE51bWJlci5wcm90b3R5cGUpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
CisgIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKE51bWJlci5wcm90b3R5cGUpOworICBpZiAoYiA9
PT0gZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzRnJvemVuKTsK
KyB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0zLTEzLmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4xMi0zLTE0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy0xNC5qcwkocmV2aXNpb24gMTk5
NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4xMi0zLTE0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQwICsxLDQwIEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQot
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4xMi0zLTE0IiwNCi0NCi1w
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEy
LTMtMTQuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFs
c2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChNYXRoKSIsDQotDQotdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7DQotICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihNYXRoKTsNCi0gIGlmIChi
ID09PSBmYWxzZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNG
cm96ZW4pOw0KLSB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4xMi0zLTE0
IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1
LjIuMy4xMi0zLTE0LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuaXNGcm96ZW4gcmV0dXJu
cyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE1hdGgpIiwKKwordGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7CisgIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKE1hdGgpOworICBpZiAo
YiA9PT0gZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzRnJvemVu
KTsKKyB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0zLTE0LmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4xMi0zLTE1LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy0xNS5qcwkocmV2aXNpb24g
MTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4xMi0zLTE1LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQwICsxLDQwIEBACi0vLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
Rg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4xMi0zLTE1IiwNCi0N
Ci1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4z
LjEyLTMtMTUuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmlzRnJvemVuIHJldHVybnMg
ZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChEYXRlKSIsDQotDQotdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7DQotICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihEYXRlKTsNCi0gIGlm
IChiID09PSBmYWxzZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3Qu
aXNGcm96ZW4pOw0KLSB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4xMi0z
LTE1IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEy
LzE1LjIuMy4xMi0zLTE1LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuaXNGcm96ZW4gcmV0
dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKERhdGUpIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKERhdGUpOworICBp
ZiAoYiA9PT0gZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzRnJv
emVuKTsKKyB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0zLTE1LmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4xMi0zLTE2LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy0xNi5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4xMi0zLTE2LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQwICsxLDQwIEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4xMi0zLTE2IiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUu
Mi4zLjEyLTMtMTYuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmlzRnJvemVuIHJldHVy
bnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChEYXRlLnByb3RvdHlwZSkiLA0KLQ0K
LXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4o
RGF0ZS5wcm90b3R5cGUpOw0KLSAgaWYgKGIgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVl
Ow0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAg
cmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0Zyb3plbik7DQotIH0NCi0NCi19KTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKK2lkOiAiMTUuMi4zLjEyLTMtMTYiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMTYuanMiLAorCitkZXNjcmlwdGlv
bjogIk9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0
cyAoRGF0ZS5wcm90b3R5cGUpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZh
ciBiID0gT2JqZWN0LmlzRnJvemVuKERhdGUucHJvdG90eXBlKTsKKyAgaWYgKGIgPT09IGZhbHNl
KSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0Zyb3plbik7CisgfQorCit9
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy0xNi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMTItMy0xNy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEyLTMtMTcuanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTIt
My0xNy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTItMy0xNyIsDQotDQotcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTE3Lmpz
IiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGZvciBh
bGwgYnVpbHQtaW4gb2JqZWN0cyAoUmVnRXhwKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7DQotICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihSZWdFeHApOw0KLSAgaWYgKGIgPT09
IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0Zyb3pl
bik7DQotIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8v
LyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjEyLTMtMTciLAor
CitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4z
LjEyLTMtMTcuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZh
bHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoUmVnRXhwKSIsCisKK3Rlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihSZWdFeHApOworICBpZiAo
YiA9PT0gZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzRnJvemVu
KTsKKyB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0zLTE3LmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4xMi0zLTE4LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy0xOC5qcwkocmV2aXNpb24g
MTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4xMi0zLTE4LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQwICsxLDQwIEBACi0vLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
Rg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4xMi0zLTE4IiwNCi0N
Ci1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4z
LjEyLTMtMTguanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmlzRnJvemVuIHJldHVybnMg
ZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWdFeHAucHJvdG90eXBlKSIsDQotDQot
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihS
ZWdFeHAucHJvdG90eXBlKTsNCi0gIGlmIChiID09PSBmYWxzZSkgew0KLSAgICByZXR1cm4gdHJ1
ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0g
IHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNGcm96ZW4pOw0KLSB9DQotDQotfSk7DQorLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7CitpZDogIjE1LjIuMy4xMi0zLTE4IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTE4LmpzIiwKKworZGVzY3JpcHRp
b246ICJPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVj
dHMgKFJlZ0V4cC5wcm90b3R5cGUpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7Cisg
IHZhciBiID0gT2JqZWN0LmlzRnJvemVuKFJlZ0V4cC5wcm90b3R5cGUpOworICBpZiAoYiA9PT0g
ZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzRnJvemVuKTsKKyB9
CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0zLTE4LmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4xMi0zLTE5LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy0xOS5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4xMi0zLTE5LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQwICsxLDQwIEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4xMi0zLTE5IiwNCi0NCi1wYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMt
MTkuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2Ug
Zm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFcnJvcikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgew0KLSAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oRXJyb3IpOw0KLSAgaWYgKGIg
PT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0Zy
b3plbik7DQotIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjEyLTMtMTki
LAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUu
Mi4zLjEyLTMtMTkuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5pc0Zyb3plbiByZXR1cm5z
IGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoRXJyb3IpIiwKKwordGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7CisgIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKEVycm9yKTsKKyAgaWYg
KGIgPT09IGZhbHNlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0Zyb3pl
bik7CisgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy0xOS5qcwpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMTItMy0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy0yLmpzCShyZXZpc2lvbiAx
OTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjEyLTMtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAotLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYN
Ci0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0K
LUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTItMy0yIiwNCi0NCi1w
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEy
LTMtMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxz
ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE9iamVjdCkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgew0KLSAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oT2JqZWN0KTsNCi0gIGlm
IChiID09PSBmYWxzZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3Qu
aXNGcm96ZW4pOw0KLSB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4xMi0z
LTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIv
MTUuMi4zLjEyLTMtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmlzRnJvemVuIHJldHVy
bnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChPYmplY3QpIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKE9iamVjdCk7Cisg
IGlmIChiID09PSBmYWxzZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNG
cm96ZW4pOworIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEyLTMtMi5qcwpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy0yMC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEyLTMtMjAuanMJKHJldmlz
aW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMTItMy0yMC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAot
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0K
LQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTItMy0yMCIs
DQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1
LjIuMy4xMi0zLTIwLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5pc0Zyb3plbiByZXR1
cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoRXJyb3IucHJvdG90eXBlKSIsDQot
DQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgYiA9IE9iamVjdC5pc0Zyb3pl
bihFcnJvci5wcm90b3R5cGUpOw0KLSAgaWYgKGIgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0
cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0K
LSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0Zyb3plbik7DQotIH0NCi0NCi19KTsNCisvLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsKK2lkOiAiMTUuMi4zLjEyLTMtMjAiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMjAuanMiLAorCitkZXNjcmlw
dGlvbjogIk9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2Jq
ZWN0cyAoRXJyb3IucHJvdG90eXBlKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewor
ICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihFcnJvci5wcm90b3R5cGUpOworICBpZiAoYiA9PT0g
ZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzRnJvemVuKTsKKyB9
CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0zLTIwLmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4xMi0zLTIxLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy0yMS5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4xMi0zLTIxLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQwICsxLDQwIEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4xMi0zLTIxIiwNCi0NCi1wYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMt
MjEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2Ug
Zm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFdmFsRXJyb3IpIiwNCi0NCi10ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKEV2YWxFcnJvcik7DQot
ICBpZiAoYiA9PT0gZmFsc2UpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQot
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2Jq
ZWN0LmlzRnJvemVuKTsNCi0gfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IK
Ky8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMu
MTItMy0yMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIu
My4xMi8xNS4yLjMuMTItMy0yMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmlzRnJvemVu
IHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFdmFsRXJyb3IpIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKEV2
YWxFcnJvcik7CisgIGlmIChiID09PSBmYWxzZSkgeworICAgIHJldHVybiB0cnVlOworICB9Cisg
fSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0
cyhPYmplY3QuaXNGcm96ZW4pOworIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEyLTMtMjEu
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEyLTMtMjIuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0z
LTIyLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEyLTMtMjIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
NDAgKzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUu
Mi4zLjEyLTMtMjIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4z
LzE1LjIuMy4xMi8xNS4yLjMuMTItMy0yMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3Qu
aXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFJhbmdlRXJy
b3IpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBiID0gT2JqZWN0
LmlzRnJvemVuKFJhbmdlRXJyb3IpOw0KLSAgaWYgKGIgPT09IGZhbHNlKSB7DQotICAgIHJldHVy
biB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
ew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0Zyb3plbik7DQotIH0NCi0NCi19KTsNCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjEyLTMtMjIiLAorCitwYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMjIuanMiLAorCitkZXNj
cmlwdGlvbjogIk9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4g
b2JqZWN0cyAoUmFuZ2VFcnJvcikiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAg
dmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oUmFuZ2VFcnJvcik7CisgIGlmIChiID09PSBmYWxzZSkg
eworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNGcm96ZW4pOworIH0KKworfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjEyLTMtMjIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1z
dHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4z
LjEyLTMtMjMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0zLTIzLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEyLTMt
MjMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDAgKzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjEyLTMtMjMiLA0KLQ0KLXBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMi8xNS4yLjMuMTItMy0yMy5qcyIs
DQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxs
IGJ1aWx0LWluIG9iamVjdHMgKFJlZmVyZW5jZUVycm9yKSIsDQotDQotdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7DQotICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihSZWZlcmVuY2VFcnJvcik7
DQotICBpZiAoYiA9PT0gZmFsc2UpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQot
DQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMo
T2JqZWN0LmlzRnJvemVuKTsNCi0gfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwor
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4y
LjMuMTItMy0yMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1
LjIuMy4xMi8xNS4yLjMuMTItMy0yMy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmlzRnJv
emVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWZlcmVuY2VFcnJv
cikiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGIgPSBPYmplY3QuaXNG
cm96ZW4oUmVmZXJlbmNlRXJyb3IpOworICBpZiAoYiA9PT0gZmFsc2UpIHsKKyAgICByZXR1cm4g
dHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICBy
ZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzRnJvemVuKTsKKyB9CisKK30pOwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4xMi0zLTIzLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCAr
MSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0zLTI0LmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuMTItMy0yNC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0zLTI0LmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDQwICsxLDQwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
Ci0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsNCi1pZDogIjE1LjIuMy4xMi0zLTI0IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMjQuanMiLA0KLQ0KLWRlc2NyaXB0
aW9uOiAiT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmpl
Y3RzIChTeW50YXhFcnJvcikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAg
dmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oU3ludGF4RXJyb3IpOw0KLSAgaWYgKGIgPT09IGZhbHNl
KSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0Zyb3plbik7DQot
IH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKwor
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjEyLTMtMjQiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMt
MjQuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGZv
ciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoU3ludGF4RXJyb3IpIiwKKwordGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7CisgIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKFN5bnRheEVycm9yKTsKKyAg
aWYgKGIgPT09IGZhbHNlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0Zy
b3plbik7CisgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy0yNC5qcwpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy0yNS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEyLTMtMjUuanMJKHJldmlz
aW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMTItMy0yNS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAot
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0K
LQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTItMy0yNSIs
DQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1
LjIuMy4xMi0zLTI1LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5pc0Zyb3plbiByZXR1
cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoVHlwZUVycm9yKSIsDQotDQotdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihUeXBl
RXJyb3IpOw0KLSAgaWYgKGIgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0K
LSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZu
RXhpc3RzKE9iamVjdC5pc0Zyb3plbik7DQotIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTUuMi4zLjEyLTMtMjUiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1
LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMjUuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVj
dC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoVHlwZUVy
cm9yKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgYiA9IE9iamVjdC5p
c0Zyb3plbihUeXBlRXJyb3IpOworICBpZiAoYiA9PT0gZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1
ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1
cm4gZm5FeGlzdHMoT2JqZWN0LmlzRnJvemVuKTsKKyB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4xMi0zLTI1LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAj
IworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0zLTI2LmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMTItMy0yNi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0zLTI2LmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDQwICsxLDQwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MN
Ci0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0v
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsN
Ci1pZDogIjE1LjIuMy4xMi0zLTI2IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMjYuanMiLA0KLQ0KLWRlc2NyaXB0aW9u
OiAiT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3Rz
IChVUklFcnJvcikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGIg
PSBPYmplY3QuaXNGcm96ZW4oVVJJRXJyb3IpOw0KLSAgaWYgKGIgPT09IGZhbHNlKSB7DQotICAg
IHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0Zyb3plbik7DQotIH0NCi0NCi19
KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAK
Ky8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjEyLTMtMjYiLAorCitwYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMjYuanMiLAor
CitkZXNjcmlwdGlvbjogIk9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVp
bHQtaW4gb2JqZWN0cyAoVVJJRXJyb3IpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
CisgIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKFVSSUVycm9yKTsKKyAgaWYgKGIgPT09IGZhbHNl
KSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0Zyb3plbik7CisgfQorCit9
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy0yNi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMTItMy0yNy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEyLTMtMjcuanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTIt
My0yNy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTItMy0yNyIsDQotDQotcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTI3Lmpz
IiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGZvciBh
bGwgYnVpbHQtaW4gb2JqZWN0cyAoSlNPTikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgew0KLSAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oSlNPTik7DQotICBpZiAoYiA9PT0gZmFs
c2UpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzRnJvemVuKTsN
Ci0gfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bwor
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAor
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKwor
CitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMTItMy0yNyIsCisKK3Bh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMi8xNS4yLjMuMTIt
My0yNy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2Ug
Zm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChKU09OKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgeworICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihKU09OKTsKKyAgaWYgKGIgPT09IGZh
bHNlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0Zyb3plbik7CisgfQor
Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy0yNy5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMTItMy0zLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy0zLmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEy
LTMtMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTItMy0zIiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMy5qcyIs
DQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxs
IGJ1aWx0LWluIG9iamVjdHMgKE9iamVjdC5wcm90b3R5cGUpIiwNCi0NCi10ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKE9iamVjdC5wcm90b3R5
cGUpOw0KLSAgaWYgKGIgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9
LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhp
c3RzKE9iamVjdC5pc0Zyb3plbik7DQotIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAi
MTUuMi4zLjEyLTMtMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4z
LzE1LjIuMy4xMi8xNS4yLjMuMTItMy0zLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuaXNG
cm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE9iamVjdC5wcm90
b3R5cGUpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBiID0gT2JqZWN0
LmlzRnJvemVuKE9iamVjdC5wcm90b3R5cGUpOworICBpZiAoYiA9PT0gZmFsc2UpIHsKKyAgICBy
ZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
eworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzRnJvemVuKTsKKyB9CisKK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4xMi0zLTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEyLTMtNC5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjEyLTMtNC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0zLTQuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDAgKzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggew0KLWlkOiAiMTUuMi4zLjEyLTMtNCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTQuanMiLA0KLQ0KLWRlc2NyaXB0
aW9uOiAiT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmpl
Y3RzIChGdW5jdGlvbikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFy
IGIgPSBPYmplY3QuaXNGcm96ZW4oRnVuY3Rpb24pOw0KLSAgaWYgKGIgPT09IGZhbHNlKSB7DQot
ICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0Zyb3plbik7DQotIH0NCi0N
Ci19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8v
LyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisv
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjEyLTMtNCIsCisKK3BhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMi8xNS4yLjMuMTItMy00LmpzIiwK
KworZGVzY3JpcHRpb246ICJPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1
aWx0LWluIG9iamVjdHMgKEZ1bmN0aW9uKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
eworICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihGdW5jdGlvbik7CisgIGlmIChiID09PSBmYWxz
ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNGcm96ZW4pOworIH0KKwor
fSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEyLTMtNC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMTItMy01LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy01LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEyLTMt
NS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTItMy01IiwNCi0NCi1wYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtNS5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1
aWx0LWluIG9iamVjdHMgKEZ1bmN0aW9uLnByb3RvdHlwZSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgew0KLSAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oRnVuY3Rpb24ucHJvdG90
eXBlKTsNCi0gIGlmIChiID09PSBmYWxzZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0g
fSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4
aXN0cyhPYmplY3QuaXNGcm96ZW4pOw0KLSB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDog
IjE1LjIuMy4xMi0zLTUiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIu
My8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtNS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0Lmlz
RnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChGdW5jdGlvbi5w
cm90b3R5cGUpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBiID0gT2Jq
ZWN0LmlzRnJvemVuKEZ1bmN0aW9uLnByb3RvdHlwZSk7CisgIGlmIChiID09PSBmYWxzZSkgewor
ICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNGcm96ZW4pOworIH0KKworfSk7CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjEyLTMtNS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTIt
My02LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy02LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEyLTMtNi5qcwko
d29ya2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTItMy02IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtNi5qcyIsDQotDQotZGVz
Y3JpcHRpb246ICJPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWlu
IG9iamVjdHMgKEFycmF5KSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2
YXIgYiA9IE9iamVjdC5pc0Zyb3plbihBcnJheSk7DQotICBpZiAoYiA9PT0gZmFsc2UpIHsNCi0g
ICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzRnJvemVuKTsNCi0gfQ0KLQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMTItMy02IiwKKworcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTYuanMiLAor
CitkZXNjcmlwdGlvbjogIk9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVp
bHQtaW4gb2JqZWN0cyAoQXJyYXkpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7Cisg
IHZhciBiID0gT2JqZWN0LmlzRnJvemVuKEFycmF5KTsKKyAgaWYgKGIgPT09IGZhbHNlKSB7Cisg
ICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0Zyb3plbik7CisgfQorCit9KTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMTItMy02LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0z
LTcuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4xMi0zLTcuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy03LmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDQwICsxLDQwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
DQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsNCi1pZDogIjE1LjIuMy4xMi0zLTciLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMi8xNS4yLjMuMTItMy03LmpzIiwNCi0NCi1kZXNj
cmlwdGlvbjogIk9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4g
b2JqZWN0cyAoQXJyYXkucHJvdG90eXBlKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihBcnJheS5wcm90b3R5cGUpOw0KLSAgaWYg
KGIgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5p
c0Zyb3plbik7DQotIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjEyLTMt
NyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMi8x
NS4yLjMuMTItMy03LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuaXNGcm96ZW4gcmV0dXJu
cyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEFycmF5LnByb3RvdHlwZSkiLAorCit0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oQXJy
YXkucHJvdG90eXBlKTsKKyAgaWYgKGIgPT09IGZhbHNlKSB7CisgICAgcmV0dXJuIHRydWU7Cisg
IH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZu
RXhpc3RzKE9iamVjdC5pc0Zyb3plbik7CisgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTIt
My03LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0zLTguanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4x
Mi0zLTguanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy04LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQwICsxLDQwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4N
Ci0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1
LjIuMy4xMi0zLTgiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4z
LzE1LjIuMy4xMi8xNS4yLjMuMTItMy04LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5p
c0Zyb3plbiByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoU3RyaW5nKSIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgYiA9IE9iamVjdC5pc0Zy
b3plbihTdHJpbmcpOw0KLSAgaWYgKGIgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0K
LSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0
dXJuIGZuRXhpc3RzKE9iamVjdC5pc0Zyb3plbik7DQotIH0NCi0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTUuMi4zLjEyLTMtOCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjIvMTUuMi4zLzE1LjIuMy4xMi8xNS4yLjMuMTItMy04LmpzIiwKKworZGVzY3JpcHRpb246ICJP
YmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFN0
cmluZykiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGIgPSBPYmplY3Qu
aXNGcm96ZW4oU3RyaW5nKTsKKyAgaWYgKGIgPT09IGZhbHNlKSB7CisgICAgcmV0dXJuIHRydWU7
CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJu
IGZuRXhpc3RzKE9iamVjdC5pc0Zyb3plbik7CisgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
MTItMy04LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIwor
TEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMi0zLTkuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4xMi0zLTkuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTItMy05LmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDQwICsxLDQwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0v
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDog
IjE1LjIuMy4xMi0zLTkiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUu
Mi4zLzE1LjIuMy4xMi8xNS4yLjMuMTItMy05LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVj
dC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoU3RyaW5n
LnByb3RvdHlwZSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGIg
PSBPYmplY3QuaXNGcm96ZW4oU3RyaW5nLnByb3RvdHlwZSk7DQotICBpZiAoYiA9PT0gZmFsc2Up
IHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzRnJvemVuKTsNCi0g
fQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMTItMy05IiwKKworcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTku
anMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGZvciBh
bGwgYnVpbHQtaW4gb2JqZWN0cyAoU3RyaW5nLnByb3RvdHlwZSkiLAorCit0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oU3RyaW5nLnByb3RvdHlw
ZSk7CisgIGlmIChiID09PSBmYWxzZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKwor
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmpl
Y3QuaXNGcm96ZW4pOworIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEyLTMtOS5qcwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMC0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMC0xLmpzCShy
ZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjEzLTAtMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzNSArMSwzNSBA
QAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0K
LS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTMtMC0x
IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMv
MTUuMi4zLjEzLTAtMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuaXNFeHRlbnNpYmxl
IG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotICB2YXIgZiA9IE9iamVjdC5pc0V4dGVuc2libGUgOw0KLSAgaWYgKHR5cGVvZihmKSA9
PT0gImZ1bmN0aW9uIikgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfQ0KLX0pOw0KKy8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMTMtMC0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0wLTEuanMiLAorCitkZXNjcmlw
dGlvbjogIk9iamVjdC5pc0V4dGVuc2libGUgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBmID0gT2JqZWN0LmlzRXh0ZW5zaWJs
ZSA7CisgIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsKKyAgICByZXR1cm4gdHJ1ZTsK
KyAgfQorIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMy0wLTEuanMKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjEzLTAtMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTAtMi5qcwkocmV2aXNpb24gMTk5
NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4xMy0wLTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzggKzEsMzggQEAKLS8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQot
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1F
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjEzLTAtMiIsDQotDQotcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0w
LTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmlzRXh0ZW5zaWJsZSBtdXN0IGV4aXN0
IGFzIGEgZnVuY3Rpb24gdGFraW5nIDEgcGFyYW1ldGVyIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsNCi0gIGlmIChPYmplY3QuaXNFeHRlbnNpYmxlLmxlbmd0aCA9PT0gMSkgew0K
LSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNFeHRlbnNpYmxlKTsNCi0g
fQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAor
Ly8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQK
Ky8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgor
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMTMtMC0yIiwKKworcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0wLTIuanMi
LAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5pc0V4dGVuc2libGUgbXVzdCBleGlzdCBhcyBhIGZ1
bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlciIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
eworICBpZiAoT2JqZWN0LmlzRXh0ZW5zaWJsZS5sZW5ndGggPT09IDEpIHsKKyAgICByZXR1cm4g
dHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICBy
ZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzRXh0ZW5zaWJsZSk7CisgfQorfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjEzLTAtMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAg
KzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMC0zLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuMTMtMC0zLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTAtMy5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSw0NCArMSw0NCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
DQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQot
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLS8qDQotQSBuZXdseSBjcmVhdGVkIG9iamVjdCB1
c2luZyB0aGUgT2JqZWN0IGNvbnRydWN0b3IgaGFzIGl0cyBbW0V4dGVuc2libGVdXQ0KLXByb3Bl
cnR5IHNldCB0byB0cnVlIGJ5IGRlZmF1bHQgKDE1LjIuMi4xLCBzdGVwIDgpLg0KLSovDQotDQot
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4xMy0wLTMiLA0KLQ0KLXBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMy8xNS4yLjMuMTMt
MC0zLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5pc0V4dGVuc2libGUgaXMgdHJ1ZSBm
b3Igb2JqZWN0cyBjcmVhdGVkIHVzaW5nIHRoZSBPYmplY3QgY3RvciIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgbyA9IG5ldyBPYmplY3QoKTsNCi0NCi0gIGlmIChP
YmplY3QuaXNFeHRlbnNpYmxlKG8pID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAg
fQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJu
IGZuRXhpc3RzKE9iamVjdC5pc0V4dGVuc2libGUpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisvKgorQSBuZXdseSBjcmVhdGVkIG9iamVjdCB1
c2luZyB0aGUgT2JqZWN0IGNvbnRydWN0b3IgaGFzIGl0cyBbW0V4dGVuc2libGVdXQorcHJvcGVy
dHkgc2V0IHRvIHRydWUgYnkgZGVmYXVsdCAoMTUuMi4yLjEsIHN0ZXAgOCkuCisqLworCitFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMTMtMC0zIiwKKworcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0wLTMuanMi
LAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5pc0V4dGVuc2libGUgaXMgdHJ1ZSBmb3Igb2JqZWN0
cyBjcmVhdGVkIHVzaW5nIHRoZSBPYmplY3QgY3RvciIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgeworICB2YXIgbyA9IG5ldyBPYmplY3QoKTsKKworICBpZiAoT2JqZWN0LmlzRXh0ZW5z
aWJsZShvKSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNF
eHRlbnNpYmxlKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMC0zLmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4xMy0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMS5qcwkocmV2aXNpb24g
MTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4xMy0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQzICsxLDQzIEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQot
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4xMy0xIiwNCi0NCi1wYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTEu
anMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmlzRXh0ZW5zaWJsZSB0aHJvd3MgVHlwZUVy
cm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdCIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotICAgIHRyeSB7DQotICAgICAgT2JqZWN0LmlzRXh0ZW5zaWJs
ZSgwKTsNCi0gICAgfQ0KLSAgICBjYXRjaCAoZSkgew0KLSAgICAgIGlmIChlIGluc3RhbmNlb2Yg
VHlwZUVycm9yKSB7DQotICAgICAgICByZXR1cm4gdHJ1ZTsNCi0gICAgICB9DQotICAgIH0NCi0g
fSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4
aXN0cyhPYmplY3QuaXNFeHRlbnNpYmxlKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6
ICIxNS4yLjMuMTMtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4z
LzE1LjIuMy4xMy8xNS4yLjMuMTMtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmlzRXh0
ZW5zaWJsZSB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9i
amVjdCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgIHRyeSB7CisgICAgICBP
YmplY3QuaXNFeHRlbnNpYmxlKDApOworICAgIH0KKyAgICBjYXRjaCAoZSkgeworICAgICAgaWYg
KGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICB9
CisgICAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1
cm4gZm5FeGlzdHMoT2JqZWN0LmlzRXh0ZW5zaWJsZSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjEzLTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTItMS5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjEzLTItMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMy0yLTEuanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsNDQgKzEsNDQgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0K
LS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi0NCi1nbG9iYWwgPSB0aGlzOw0KLQ0KLQ0KLUVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTMtMi0xIiwNCi0NCi1wYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMS5q
cyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBm
b3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEdsb2JhbCkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgew0KLSAgLy8gaW4gbm9uLXN0cmljdCBtb2RlLCAndGhpcycgaXMgYm91bmQgdG8g
dGhlIGdsb2JhbCBvYmplY3QuDQotICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUodGhpcyk7
DQotICBpZiAoZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0N
Ci1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhP
YmplY3QuaXNFeHRlbnNpYmxlKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwor
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKworCisKK2dsb2JhbCA9IHRoaXM7CisKKworRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjEzLTItMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMy8xNS4yLjMuMTMtMi0xLmpzIiwKKworZGVzY3Jp
cHRpb246ICJPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWlu
IG9iamVjdHMgKEdsb2JhbCkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgLy8g
aW4gbm9uLXN0cmljdCBtb2RlLCAndGhpcycgaXMgYm91bmQgdG8gdGhlIGdsb2JhbCBvYmplY3Qu
CisgIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZSh0aGlzKTsKKyAgaWYgKGUgPT09IHRydWUp
IHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzRXh0ZW5zaWJsZSk7CisgfQor
fSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTItMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMTMtMi0xMC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTItMTAuanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMt
Mi0xMC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOSArMSwzOSBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTMtMi0xMCIsDQotDQotcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTEwLmpz
IiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5pc0V4dGVuc2libGUgcmV0dXJucyB0cnVlIGZv
ciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoUmVnRXhwKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7DQotICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoUmVnRXhwKTsNCi0gIGlm
IChlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5p
c0V4dGVuc2libGUpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4xMy0y
LTEwIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEz
LzE1LjIuMy4xMy0yLTEwLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuaXNFeHRlbnNpYmxl
IHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFJlZ0V4cCkiLAorCit0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKFJl
Z0V4cCk7CisgIGlmIChlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAor
CitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9i
amVjdC5pc0V4dGVuc2libGUpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMy0yLTEwLmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMy0yLTExLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMi0x
MS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMy0yLTExLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5
ICsxLDM5IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAN
Ci0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0v
Ly8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIu
My4xMy0yLTExIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8x
NS4yLjMuMTMvMTUuMi4zLjEzLTItMTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0Lmlz
RXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFcnJvciki
LA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGUgPSBPYmplY3QuaXNF
eHRlbnNpYmxlKEVycm9yKTsNCi0gIGlmIChlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVl
Ow0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAg
cmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0V4dGVuc2libGUpOw0KLSB9DQotfSk7DQorLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7CitpZDogIjE1LjIuMy4xMy0yLTExIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTExLmpzIiwKKworZGVzY3JpcHRp
b246ICJPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9i
amVjdHMgKEVycm9yKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZSA9
IE9iamVjdC5pc0V4dGVuc2libGUoRXJyb3IpOworICBpZiAoZSA9PT0gdHJ1ZSkgeworICAgIHJl
dHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNFeHRlbnNpYmxlKTsKKyB9Cit9KTsKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMTMtMi0xMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMj
IC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMi0x
Mi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjEzLTItMTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMi0xMi5qcwko
d29ya2luZyBjb3B5KQpAQCAtMSwzOSArMSwzOSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTMtMi0xMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTEyLmpzIiwNCi0NCi1k
ZXNjcmlwdGlvbjogIk9iamVjdC5pc0V4dGVuc2libGUgcmV0dXJucyB0cnVlIGZvciBhbGwgYnVp
bHQtaW4gb2JqZWN0cyAoSlNPTikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LSAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKEpTT04pOw0KLSAgaWYgKGUgPT09IHRydWUp
IHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzRXh0ZW5zaWJsZSk7
DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKwor
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjEzLTItMTIiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTIt
MTIuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5pc0V4dGVuc2libGUgcmV0dXJucyB0cnVl
IGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoSlNPTikiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsKKyAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKEpTT04pOworICBpZiAoZSA9
PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNFeHRlbnNpYmxl
KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMi0xMi5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMTMtMi0xMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTItMTMuanMJKHJldmlzaW9uIDE5
OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMTMtMi0xMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOSArMSwzOSBAQAotLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYN
Ci0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0K
LUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTMtMi0xMyIsDQotDQot
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4x
My0yLTEzLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5pc0V4dGVuc2libGUgcmV0dXJu
cyB0cnVlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoRnVuY3Rpb24uY29uc3RydWN0b3IpIiwN
Ci0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBlID0gT2JqZWN0LmlzRXh0
ZW5zaWJsZShGdW5jdGlvbi5jb25zdHJ1Y3Rvcik7DQotICBpZiAoZSA9PT0gdHJ1ZSkgew0KLSAg
ICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNFeHRlbnNpYmxlKTsNCi0gfQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMTMtMi0xMyIsCisKK3BhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMy8xNS4yLjMuMTMtMi0xMy5qcyIs
CisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFs
bCBidWlsdC1pbiBvYmplY3RzIChGdW5jdGlvbi5jb25zdHJ1Y3RvcikiLAorCit0ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKEZ1bmN0aW9u
LmNvbnN0cnVjdG9yKTsKKyAgaWYgKGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAg
fQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5F
eGlzdHMoT2JqZWN0LmlzRXh0ZW5zaWJsZSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEz
LTItMTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitM
RgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTItMTQuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4xMy0yLTE0LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTItMTQuanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsMzkgKzEsMzkgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0K
LS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlk
OiAiMTUuMi4zLjEzLTItMTQiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIv
MTUuMi4zLzE1LjIuMy4xMy8xNS4yLjMuMTMtMi0xNC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJP
YmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMg
KEZ1bmN0aW9uLnByb3RvdHlwZSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LSAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKEZ1bmN0aW9uLnByb3RvdHlwZSk7DQotICBp
ZiAoZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3Qu
aXNFeHRlbnNpYmxlKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMTMt
Mi0xNCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4x
My8xNS4yLjMuMTMtMi0xNC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmlzRXh0ZW5zaWJs
ZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChGdW5jdGlvbi5wcm90b3R5
cGUpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBlID0gT2JqZWN0Lmlz
RXh0ZW5zaWJsZShGdW5jdGlvbi5wcm90b3R5cGUpOworICBpZiAoZSA9PT0gdHJ1ZSkgeworICAg
IHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNFeHRlbnNpYmxlKTsKKyB9Cit9KTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMTMtMi0xNC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMt
Mi0xNS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTItMTUuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMi0xNS5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSwzOSArMSwzOSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTMtMi0xNSIsDQotDQotcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTE1LmpzIiwNCi0N
Ci1kZXNjcmlwdGlvbjogIk9iamVjdC5pc0V4dGVuc2libGUgcmV0dXJucyB0cnVlIGZvciBhbGwg
YnVpbHQtaW4gb2JqZWN0cyAoQXJyYXkucHJvdG90eXBlKSIsDQotDQotdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7DQotICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoQXJyYXkucHJvdG90
eXBlKTsNCi0gIGlmIChlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9
LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhp
c3RzKE9iamVjdC5pc0V4dGVuc2libGUpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDog
IjE1LjIuMy4xMy0yLTE1IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4y
LjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTE1LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3Qu
aXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEFycmF5
LnByb3RvdHlwZSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGUgPSBP
YmplY3QuaXNFeHRlbnNpYmxlKEFycmF5LnByb3RvdHlwZSk7CisgIGlmIChlID09PSB0cnVlKSB7
CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0V4dGVuc2libGUpOworIH0KK30p
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4xMy0yLTE1LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4xMy0yLTE2LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMi0xNi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMy0y
LTE2LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5IEBACi0vLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0K
LS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
Uw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4xMy0yLTE2IiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMTYuanMi
LA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9y
IGFsbCBidWlsdC1pbiBvYmplY3RzIChTdHJpbmcucHJvdG90eXBlKSIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoU3RyaW5n
LnByb3RvdHlwZSk7DQotICBpZiAoZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0g
IH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVy
biBmbkV4aXN0cyhPYmplY3QuaXNFeHRlbnNpYmxlKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
eworaWQ6ICIxNS4yLjMuMTMtMi0xNiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjIvMTUuMi4zLzE1LjIuMy4xMy8xNS4yLjMuMTMtMi0xNi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAi
T2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3Rz
IChTdHJpbmcucHJvdG90eXBlKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2
YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoU3RyaW5nLnByb3RvdHlwZSk7CisgIGlmIChlID09
PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0V4dGVuc2libGUp
OworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMy0yLTE2LmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4xMy0yLTE3LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMi0xNy5qcwkocmV2aXNpb24gMTk5
NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4xMy0yLTE3LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5IEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQot
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4xMy0yLTE3IiwNCi0NCi1w
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEz
LTItMTcuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5z
IHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChCb29sZWFuLnByb3RvdHlwZSkiLA0KLQ0K
LXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNp
YmxlKEJvb2xlYW4ucHJvdG90eXBlKTsNCi0gIGlmIChlID09PSB0cnVlKSB7DQotICAgIHJldHVy
biB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
ew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0V4dGVuc2libGUpOw0KLSB9DQotfSk7DQor
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4xMy0yLTE3IiwKKworcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTE3LmpzIiwKKworZGVz
Y3JpcHRpb246ICJPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0
LWluIG9iamVjdHMgKEJvb2xlYW4ucHJvdG90eXBlKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgeworICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoQm9vbGVhbi5wcm90b3R5cGUp
OworICBpZiAoZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3Qu
aXNFeHRlbnNpYmxlKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMi0xNy5qcwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMi0xOC5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTItMTguanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMi0xOC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOSArMSwz
OSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8v
IA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQot
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0v
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0K
LS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTMt
Mi0xOCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4z
LjEzLzE1LjIuMy4xMy0yLTE4LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5pc0V4dGVu
c2libGUgcmV0dXJucyB0cnVlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoTnVtYmVyLnByb3Rv
dHlwZSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGUgPSBPYmpl
Y3QuaXNFeHRlbnNpYmxlKE51bWJlci5wcm90b3R5cGUpOw0KLSAgaWYgKGUgPT09IHRydWUpIHsN
Ci0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzRXh0ZW5zaWJsZSk7DQot
IH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAK
Ky8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
CisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYK
Ky8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjEzLTItMTgiLAorCitwYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMTgu
anMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5pc0V4dGVuc2libGUgcmV0dXJucyB0cnVlIGZv
ciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoTnVtYmVyLnByb3RvdHlwZSkiLAorCit0ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKE51bWJlci5w
cm90b3R5cGUpOworICBpZiAoZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9Cisg
fSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0
cyhPYmplY3QuaXNFeHRlbnNpYmxlKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMi0x
OC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMi0xOS5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEz
LTItMTkuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMi0xOS5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSwzOSArMSwzOSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIx
NS4yLjMuMTMtMi0xOSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4y
LjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTE5LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVj
dC5pc0V4dGVuc2libGUgcmV0dXJucyB0cnVlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoRGF0
ZS5wcm90b3R5cGUpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBl
ID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShEYXRlLnByb3RvdHlwZSk7DQotICBpZiAoZSA9PT0gdHJ1
ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNFeHRlbnNpYmxl
KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bwor
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAor
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKwor
CitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMTMtMi0xOSIsCisKK3Bh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMy8xNS4yLjMuMTMt
Mi0xOS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRy
dWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChEYXRlLnByb3RvdHlwZSkiLAorCit0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKERhdGUu
cHJvdG90eXBlKTsKKyAgaWYgKGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQor
IH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlz
dHMoT2JqZWN0LmlzRXh0ZW5zaWJsZSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTIt
MTkuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTItMi5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEz
LTItMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMy0yLTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
NDAgKzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUu
Mi4zLjEzLTItMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMv
MTUuMi4zLjEzLzE1LjIuMy4xMy0yLTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0Lmlz
RXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChPYmplY3Qp
IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBvID0ge307DQotICB2
YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUobyk7DQotICBpZiAoZSA9PT0gdHJ1ZSkgew0KLSAg
ICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuaXNFeHRlbnNpYmxlKTsNCi0gfQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMTMtMi0yIiwKKworcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTIuanMiLAor
CitkZXNjcmlwdGlvbjogIk9iamVjdC5pc0V4dGVuc2libGUgcmV0dXJucyB0cnVlIGZvciBhbGwg
YnVpbHQtaW4gb2JqZWN0cyAoT2JqZWN0KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
eworICB2YXIgbyA9IHt9OworICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUobyk7CisgIGlm
IChlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0V4dGVu
c2libGUpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMy0yLTIuanMKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjEzLTItMjAuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMy0yLTIwLmpzCShyZXZpc2lv
biAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjEzLTItMjAuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzkgKzEsMzkgQEAKLS8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjEzLTItMjAiLA0K
LQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMy8xNS4y
LjMuMTMtMi0yMC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuaXNFeHRlbnNpYmxlIHJl
dHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFJlZ0V4cC5wcm90b3R5cGUpIiwN
Ci0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBlID0gT2JqZWN0LmlzRXh0
ZW5zaWJsZShSZWdFeHAucHJvdG90eXBlKTsNCi0gIGlmIChlID09PSB0cnVlKSB7DQotICAgIHJl
dHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0V4dGVuc2libGUpOw0KLSB9DQotfSk7
DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisv
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4xMy0yLTIwIiwKKworcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTIwLmpzIiwKKwor
ZGVzY3JpcHRpb246ICJPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1
aWx0LWluIG9iamVjdHMgKFJlZ0V4cC5wcm90b3R5cGUpIiwKKwordGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7CisgIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShSZWdFeHAucHJvdG90eXBl
KTsKKyAgaWYgKGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3By
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0
LmlzRXh0ZW5zaWJsZSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTItMjAuanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTItMjEuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMy0yLTIxLmpz
CShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTItMjEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTIgKzEs
NTIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8v
LyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0K
LS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQot
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyAN
Ci0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiANCi0NCi0vKg0KLUZ1bmN0aW9uLmNvbnN0cnVjdG9yDQotRnVuY3Rpb24ucHJvdG90eXBl
DQotQXJyYXkucHJvdG90eXBlDQotU3RyaW5nLnByb3RvdHlwZQ0KLUJvb2xlYW4ucHJvdG90eXBl
DQotTnVtYmVyLnByb3RvdHlwZQ0KLURhdGUucHJvdG90eXBlDQotUmVnRXhwLnByb3RvdHlwZQ0K
LUVycm9yLnByb3RvdHlwZQ0KLSovDQotDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsNCi1pZDogIjE1LjIuMy4xMy0yLTIxIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMjEuanMiLA0KLQ0KLWRlc2NyaXB0
aW9uOiAiT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBv
YmplY3RzIChFcnJvci5wcm90b3R5cGUpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsNCi0gIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShFcnJvci5wcm90b3R5cGUpOw0KLSAg
aWYgKGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0
LmlzRXh0ZW5zaWJsZSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisv
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisKKy8qCitGdW5jdGlvbi5jb25zdHJ1Y3RvcgorRnVuY3Rpb24ucHJvdG90eXBl
CitBcnJheS5wcm90b3R5cGUKK1N0cmluZy5wcm90b3R5cGUKK0Jvb2xlYW4ucHJvdG90eXBlCitO
dW1iZXIucHJvdG90eXBlCitEYXRlLnByb3RvdHlwZQorUmVnRXhwLnByb3RvdHlwZQorRXJyb3Iu
cHJvdG90eXBlCisqLworCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUu
Mi4zLjEzLTItMjEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8x
NS4yLjMuMTMvMTUuMi4zLjEzLTItMjEuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5pc0V4
dGVuc2libGUgcmV0dXJucyB0cnVlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoRXJyb3IucHJv
dG90eXBlKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZSA9IE9iamVj
dC5pc0V4dGVuc2libGUoRXJyb3IucHJvdG90eXBlKTsKKyAgaWYgKGUgPT09IHRydWUpIHsKKyAg
ICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzRXh0ZW5zaWJsZSk7CisgfQorfSk7CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjEzLTItMjEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHls
ZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEz
LTItMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTItMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMy0yLTMuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNDEgKzEsNDEgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjEzLTItMyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTMuanMiLA0KLQ0KLWRl
c2NyaXB0aW9uOiAiT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWls
dC1pbiBvYmplY3RzIChGdW5jdGlvbikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
ew0KLSAgZnVuY3Rpb24gZm9vKCkge30NCi0gDQotICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2li
bGUoZm9vKTsNCi0gIGlmIChlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0K
LSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZu
RXhpc3RzKE9iamVjdC5pc0V4dGVuc2libGUpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7Citp
ZDogIjE1LjIuMy4xMy0yLTMiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1
LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0
LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChGdW5j
dGlvbikiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgZnVuY3Rpb24gZm9vKCkg
e30KKyAKKyAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGZvbyk7CisgIGlmIChlID09PSB0
cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0V4dGVuc2libGUpOwor
IH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMy0yLTMuanMKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjEzLTItNC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTItNC5qcwkocmV2aXNpb24gMTk5NTQ5KQor
KysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4x
My0yLTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzkgKzEsMzkgQEAKLS8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
DQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjEzLTItNCIsDQotDQotcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTQuanMi
LA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9y
IGFsbCBidWlsdC1pbiBvYmplY3RzIChBcnJheSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgew0KLSAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKEFycmF5KTsNCi0gIGlmIChl
ID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0V4
dGVuc2libGUpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4xMy0yLTQi
LAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUu
Mi4zLjEzLTItNC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1
cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChBcnJheSkiLAorCit0ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKEFycmF5KTsK
KyAgaWYgKGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0Lmlz
RXh0ZW5zaWJsZSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTItNC5qcwpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMi01LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMi01LmpzCShyZXZp
c2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjEzLTItNS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOSArMSwzOSBAQAot
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0K
LQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTMtMi01IiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUu
Mi4zLjEzLTItNS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuaXNFeHRlbnNpYmxlIHJl
dHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFN0cmluZykiLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKFN0
cmluZyk7DQotICBpZiAoZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0g
fSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4
aXN0cyhPYmplY3QuaXNFeHRlbnNpYmxlKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6
ICIxNS4yLjMuMTMtMi01IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4y
LjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTUuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5p
c0V4dGVuc2libGUgcmV0dXJucyB0cnVlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoU3RyaW5n
KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZSA9IE9iamVjdC5pc0V4
dGVuc2libGUoU3RyaW5nKTsKKyAgaWYgKGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsK
KyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4g
Zm5FeGlzdHMoT2JqZWN0LmlzRXh0ZW5zaWJsZSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4z
LjEzLTItNS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMK
K0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMi02LmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMTMtMi02LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTItNi5qcwkod29ya2luZyBjb3B5KQpA
QCAtMSwzOSArMSwzOSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQot
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6
ICIxNS4yLjMuMTMtMi02IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1
LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItNi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmpl
Y3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEJv
b2xlYW4pIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBlID0gT2Jq
ZWN0LmlzRXh0ZW5zaWJsZShCb29sZWFuKTsNCi0gIGlmIChlID09PSB0cnVlKSB7DQotICAgIHJl
dHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0V4dGVuc2libGUpOw0KLSB9DQotfSk7
DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisv
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4xMy0yLTYiLAorCitwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItNi5qcyIsCisKK2Rl
c2NyaXB0aW9uOiAiT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWls
dC1pbiBvYmplY3RzIChCb29sZWFuKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewor
ICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoQm9vbGVhbik7CisgIGlmIChlID09PSB0cnVl
KSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5pc0V4dGVuc2libGUpOworIH0K
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMy0yLTYuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjEzLTItNy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTItNy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMy0y
LTcuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzkgKzEsMzkgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjEzLTItNyIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTcuanMiLA0K
LQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFs
bCBidWlsdC1pbiBvYmplY3RzIChOdW1iZXIpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsNCi0gIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShOdW1iZXIpOw0KLSAgaWYgKGUg
PT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmlzRXh0
ZW5zaWJsZSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjEzLTItNyIs
CisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMy8xNS4y
LjMuMTMtMi03LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVy
bnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE51bWJlcikiLAorCit0ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKE51bWJlcik7
CisgIGlmIChlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5p
c0V4dGVuc2libGUpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMy0yLTcuanMKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTItOC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjEzLTItOC5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4xMy0yLTguanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzkgKzEsMzkgQEAK
LS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0v
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAN
Ci0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjEzLTItOCIs
DQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1
LjIuMy4xMy0yLTguanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmlzRXh0ZW5zaWJsZSBy
ZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChNYXRoKSIsDQotDQotdGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoTWF0
aCk7DQotICBpZiAoZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwN
Ci0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0
cyhPYmplY3QuaXNFeHRlbnNpYmxlKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisv
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIx
NS4yLjMuMTMtMi04IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMv
MTUuMi4zLjEzLzE1LjIuMy4xMy0yLTguanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5pc0V4
dGVuc2libGUgcmV0dXJucyB0cnVlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoTWF0aCkiLAor
Cit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNp
YmxlKE1hdGgpOworICBpZiAoZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9Cisg
fSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0
cyhPYmplY3QuaXNFeHRlbnNpYmxlKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMi04
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMy0yLTkuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xMy0y
LTkuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTMtMi05LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5
ICsxLDM5IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAN
Ci0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0v
Ly8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIu
My4xMy0yLTkiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1
LjIuMy4xMy8xNS4yLjMuMTMtMi05LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5pc0V4
dGVuc2libGUgcmV0dXJucyB0cnVlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoRGF0ZSkiLA0K
LQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGUgPSBPYmplY3QuaXNFeHRl
bnNpYmxlKERhdGUpOw0KLSAgaWYgKGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQot
ICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1
cm4gZm5FeGlzdHMoT2JqZWN0LmlzRXh0ZW5zaWJsZSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTUuMi4zLjEzLTItOSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjIvMTUuMi4zLzE1LjIuMy4xMy8xNS4yLjMuMTMtMi05LmpzIiwKKworZGVzY3JpcHRpb246ICJP
YmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMg
KERhdGUpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBlID0gT2JqZWN0
LmlzRXh0ZW5zaWJsZShEYXRlKTsKKyAgaWYgKGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1
ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1
cm4gZm5FeGlzdHMoT2JqZWN0LmlzRXh0ZW5zaWJsZSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjEzLTItOS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTQtMC0xLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMTQtMC0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjE0LTAtMS5qcwkod29ya2luZyBjb3B5
KQpAQCAtMSwzNSArMSwzNSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
DQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQot
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQot
aWQ6ICIxNS4yLjMuMTQtMC0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4y
LzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTAtMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJP
YmplY3Qua2V5cyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24iLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgew0KLSAgdmFyIGYgPSBPYmplY3Qua2V5czsNCi0gIGlmICh0eXBlb2YoZikg
PT09ICJmdW5jdGlvbiIpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0NCi19KTsNCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjE0LTAtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xNC8xNS4yLjMuMTQtMC0xLmpzIiwKKworZGVzY3Jp
cHRpb246ICJPYmplY3Qua2V5cyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24iLAorCit0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGYgPSBPYmplY3Qua2V5czsKKyAgaWYgKHR5cGVv
ZihmKSA9PT0gImZ1bmN0aW9uIikgeworICAgIHJldHVybiB0cnVlOworICB9CisgfQorfSk7CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjE0LTAtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTQt
MC0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMTQtMC0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjE0LTAtMi5qcwko
d29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTQtMC0yIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTAtMi5qcyIsDQotDQotZGVz
Y3JpcHRpb246ICJPYmplY3Qua2V5cyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDEg
cGFyYW1ldGVyIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmIChPYmpl
Y3Qua2V5cy5sZW5ndGggPT09IDEpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQot
DQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMo
T2JqZWN0LmtleXMpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4xNC0w
LTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQv
MTUuMi4zLjE0LTAtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmtleXMgbXVzdCBleGlz
dCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlciIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeworICBpZiAoT2JqZWN0LmtleXMubGVuZ3RoID09PSAxKSB7CisgICAgcmV0dXJu
IHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAg
cmV0dXJuIGZuRXhpc3RzKE9iamVjdC5rZXlzKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
MTQtMC0yLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIwor
TEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xNC0xLTEuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4xNC0xLTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTQtMS0xLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDQzICsxLDQzIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0v
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDog
IjE1LjIuMy4xNC0xLTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUu
Mi4zLzE1LjIuMy4xNC8xNS4yLjMuMTQtMS0xLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVj
dC5rZXlzIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2Jq
ZWN0IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHRyeSB7DQotICAgIE9i
amVjdC5rZXlzKDApOw0KLSAgfQ0KLSAgY2F0Y2ggKGUpIHsNCi0gICAgaWYgKGUgaW5zdGFuY2Vv
ZiBUeXBlRXJyb3IpIHsNCi0gICAgICByZXR1cm4gdHJ1ZTsNCi0gICAgfQ0KLSAgfQ0KLSB9LA0K
LQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3Rz
KE9iamVjdC5rZXlzKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMTQt
MS0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0
LzE1LjIuMy4xNC0xLTEuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5rZXlzIHRocm93cyBU
eXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0IiwKKwordGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHRyeSB7CisgICAgT2JqZWN0LmtleXMoMCk7CisgIH0K
KyAgY2F0Y2ggKGUpIHsKKyAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgeworICAgICAg
cmV0dXJuIHRydWU7CisgICAgfQorICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3Qua2V5cyk7CisgfQorfSk7CgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjE0LTEtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMj
IC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTQtMS0y
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMTQtMS0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjE0LTEtMi5qcwkod29y
a2luZyBjb3B5KQpAQCAtMSw0MyArMSw0MyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0K
LS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTQtMS0yIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTEtMi5qcyIsDQotDQotZGVzY3Jp
cHRpb246ICJPYmplY3Qua2V5cyB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFy
YW0gaXMgbm90IE9iamVjdCAoYm9vbGVhbikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgew0KLSAgdHJ5IHsNCi0gICAgT2JqZWN0LmtleXModHJ1ZSk7DQotICB9DQotICBjYXRjaCAo
ZSkgew0KLSAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KLSAgICAgIHJldHVybiB0
cnVlOw0KLSAgICB9DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmtleXMpOw0KLSB9DQotfSk7DQorLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
Ky8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4xNC0xLTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTEtMi5qcyIsCisKK2Rlc2NyaXB0
aW9uOiAiT2JqZWN0LmtleXMgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFt
IGlzIG5vdCBPYmplY3QgKGJvb2xlYW4pIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
CisgIHRyeSB7CisgICAgT2JqZWN0LmtleXModHJ1ZSk7CisgIH0KKyAgY2F0Y2ggKGUpIHsKKyAg
ICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgeworICAgICAgcmV0dXJuIHRydWU7CisgICAg
fQorICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVy
biBmbkV4aXN0cyhPYmplY3Qua2V5cyk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjE0LTEt
Mi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTQtMS0zLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTQt
MS0zLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjE0LTEtMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0
MyArMSw0MyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
DQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQot
Ly8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4y
LjMuMTQtMS0zIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8x
NS4yLjMuMTQvMTUuMi4zLjE0LTEtMy5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3Qua2V5
cyB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdCAo
c3RyaW5nKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB0cnkgew0KLSAg
ICBPYmplY3Qua2V5cygnYWJjJyk7DQotICB9DQotICBjYXRjaCAoZSkgew0KLSAgICBpZiAoZSBp
bnN0YW5jZW9mIFR5cGVFcnJvcikgew0KLSAgICAgIHJldHVybiB0cnVlOw0KLSAgICB9DQotICB9
DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4g
Zm5FeGlzdHMoT2JqZWN0LmtleXMpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
CisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1
LjIuMy4xNC0xLTMiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8x
NS4yLjMuMTQvMTUuMi4zLjE0LTEtMy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmtleXMg
dGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3QgKHN0
cmluZykiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdHJ5IHsKKyAgICBPYmpl
Y3Qua2V5cygnYWJjJyk7CisgIH0KKyAgY2F0Y2ggKGUpIHsKKyAgICBpZiAoZSBpbnN0YW5jZW9m
IFR5cGVFcnJvcikgeworICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICB9CisgfSwKKworcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3Qu
a2V5cyk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjE0LTEtMy5qcwpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMTQtMS00LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTQtMS00LmpzCShyZXZpc2lvbiAx
OTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjE0LTEtNC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MyArMSw0MyBAQAotLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYN
Ci0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0K
LUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTQtMS00IiwNCi0NCi1w
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0
LTEtNC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3Qua2V5cyB0aHJvd3MgVHlwZUVycm9y
IGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdCAobnVsbCkiLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdHJ5IHsNCi0gICAgT2JqZWN0LmtleXMobnVsbCk7
DQotICB9DQotICBjYXRjaCAoZSkgew0KLSAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikg
ew0KLSAgICAgIHJldHVybiB0cnVlOw0KLSAgICB9DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmtleXMp
Ow0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisv
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisv
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4xNC0xLTQiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTEt
NC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmtleXMgdGhyb3dzIFR5cGVFcnJvciBpZiB0
eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3QgKG51bGwpIiwKKwordGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7CisgIHRyeSB7CisgICAgT2JqZWN0LmtleXMobnVsbCk7CisgIH0KKyAg
Y2F0Y2ggKGUpIHsKKyAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgeworICAgICAgcmV0
dXJuIHRydWU7CisgICAgfQorICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3Qua2V5cyk7CisgfQorfSk7CgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjE0LTEtNC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w
LDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTQtMS01Lmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMTQtMS01LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjE0LTEtNS5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMSw0MyArMSw0MyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
DQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7DQotaWQ6ICIxNS4yLjMuMTQtMS01IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTEtNS5qcyIsDQotDQotZGVzY3JpcHRp
b246ICJPYmplY3Qua2V5cyB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0g
aXMgbm90IE9iamVjdCAodW5kZWZpbmVkKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotICB0cnkgew0KLSAgICBPYmplY3Qua2V5cyh1bmRlZmluZWQpOw0KLSAgfQ0KLSAgY2F0
Y2ggKGUpIHsNCi0gICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCi0gICAgICByZXR1
cm4gdHJ1ZTsNCi0gICAgfQ0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5rZXlzKTsNCi0gfQ0KLX0pOw0K
Ky8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMTQtMS01IiwKKworcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0xLTUuanMiLAorCitkZXNj
cmlwdGlvbjogIk9iamVjdC5rZXlzIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBw
YXJhbSBpcyBub3QgT2JqZWN0ICh1bmRlZmluZWQpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7CisgIHRyeSB7CisgICAgT2JqZWN0LmtleXModW5kZWZpbmVkKTsKKyAgfQorICBjYXRj
aCAoZSkgeworICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7CisgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICB9CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5rZXlzKTsKKyB9Cit9KTsKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMTQtMS01LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCAr
MSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xNC0yLTEuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4xNC0yLTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTQtMi0xLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDQxICsxLDQxIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MN
Ci0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0v
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsN
Ci1pZDogIjE1LjIuMy4xNC0yLTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjIvMTUuMi4zLzE1LjIuMy4xNC8xNS4yLjMuMTQtMi0xLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjog
Ik9iamVjdC5rZXlzIHJldHVybnMgdGhlIHN0YW5kYXJkIGJ1aWx0LWluIEFycmF5IiwNCi0NCi10
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBvID0geyB4OiAxLCB5OiAyfTsNCi0N
Ci0gIHZhciBhID0gT2JqZWN0LmtleXMobyk7DQotICBpZiAoQXJyYXkuaXNBcnJheShhKSA9PT0g
dHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3Qua2V5cykgJiYg
Zm5FeGlzdHMoQXJyYXkuaXNBcnJheSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAi
MTUuMi4zLjE0LTItMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4z
LzE1LjIuMy4xNC8xNS4yLjMuMTQtMi0xLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3Qua2V5
cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSIsCisKK3Rlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworICB2YXIgbyA9IHsgeDogMSwgeTogMn07CisKKyAgdmFyIGEgPSBPYmpl
Y3Qua2V5cyhvKTsKKyAgaWYgKEFycmF5LmlzQXJyYXkoYSkgPT09IHRydWUpIHsKKyAgICByZXR1
cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewor
ICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmtleXMpICYmIGZuRXhpc3RzKEFycmF5LmlzQXJyYXkp
OworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xNC0yLTEuanMKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjE0LTItMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjE0LTItMi5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4xNC0yLTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0K
LS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjE0LTItMiIsDQotDQotcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTIu
anMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmtleXMgcmV0dXJucyB0aGUgc3RhbmRhcmQg
YnVpbHQtaW4gQXJyYXkgKGNoZWNrIFtbQ2xhc3NdXSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7DQotICB2YXIgbyA9IHsgeDogMSwgeTogMn07DQotDQotICB2YXIgYSA9IE9iamVj
dC5rZXlzKG8pOw0KLSAgdmFyIHMgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYSk7
DQotICBpZiAocyA9PT0gJ1tvYmplY3QgQXJyYXldJykgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0g
IH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVy
biBmbkV4aXN0cyhPYmplY3Qua2V5cyk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAi
MTUuMi4zLjE0LTItMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4z
LzE1LjIuMy4xNC8xNS4yLjMuMTQtMi0yLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3Qua2V5
cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSAoY2hlY2sgW1tDbGFzc11dIiwK
KwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBvID0geyB4OiAxLCB5OiAyfTsK
KworICB2YXIgYSA9IE9iamVjdC5rZXlzKG8pOworICB2YXIgcyA9IE9iamVjdC5wcm90b3R5cGUu
dG9TdHJpbmcuY2FsbChhKTsKKyAgaWYgKHMgPT09ICdbb2JqZWN0IEFycmF5XScpIHsKKyAgICBy
ZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
eworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmtleXMpOworIH0KK30pOwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4xNC0yLTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsx
ICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjE0LTItMy5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjE0LTItMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xNC0yLTMuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LWlkOiAiMTUuMi4zLjE0LTItMyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
Mi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAi
T2JqZWN0LmtleXMgcmV0dXJucyB0aGUgc3RhbmRhcmQgYnVpbHQtaW4gQXJyYXkgKEFycmF5IG92
ZXJyaWRlbikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgZnVuY3Rpb24g
QXJyYXkoKSB7IGFsZXJ0KCJoZWxsb2UiKTsgfQ0KLQ0KLSAgdmFyIG8gPSB7IHg6IDEsIHk6IDJ9
Ow0KLQ0KLSAgdmFyIGEgPSBPYmplY3Qua2V5cyhvKTsNCi0NCi0gIHZhciBzID0gT2JqZWN0LnBy
b3RvdHlwZS50b1N0cmluZy5jYWxsKGEpOw0KLSAgaWYgKHMgPT09ICdbb2JqZWN0IEFycmF5XScp
IHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmtleXMpOw0KLSB9DQot
fSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8g
CisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwK
Ky8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4xNC0yLTMiLAorCitwYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTItMy5qcyIsCisK
K2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmtleXMgcmV0dXJucyB0aGUgc3RhbmRhcmQgYnVpbHQtaW4g
QXJyYXkgKEFycmF5IG92ZXJyaWRlbikiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsK
KyAgZnVuY3Rpb24gQXJyYXkoKSB7IGFsZXJ0KCJoZWxsb2UiKTsgfQorCisgIHZhciBvID0geyB4
OiAxLCB5OiAyfTsKKworICB2YXIgYSA9IE9iamVjdC5rZXlzKG8pOworCisgIHZhciBzID0gT2Jq
ZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGEpOworICBpZiAocyA9PT0gJ1tvYmplY3QgQXJy
YXldJykgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3Qua2V5cyk7CisgfQorfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjE0LTItMy5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
MTQtMi00LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTQtMi00LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjE0LTItNC5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw0MSArMSw0MSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTQtMi00IiwNCi0NCi1wYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTItNC5qcyIsDQotDQot
ZGVzY3JpcHRpb246ICJPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBB
cnJheSB0aGF0IGlzIGV4dGVuc2libGUiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
ew0KLSAgdmFyIG8gPSB7IHg6IDEsIHk6IDJ9Ow0KLQ0KLSAgdmFyIGEgPSBPYmplY3Qua2V5cyhv
KTsNCi0gIGlmIChPYmplY3QuaXNFeHRlbnNpYmxlKGEpID09PSB0cnVlKSB7DQotICAgIHJldHVy
biB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
ew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5rZXlzKSAmJiBmbkV4aXN0cyhPYmplY3QuaXNF
eHRlbnNpYmxlKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMTQtMi00
IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1
LjIuMy4xNC0yLTQuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5rZXlzIHJldHVybnMgdGhl
IHN0YW5kYXJkIGJ1aWx0LWluIEFycmF5IHRoYXQgaXMgZXh0ZW5zaWJsZSIsCisKK3Rlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgbyA9IHsgeDogMSwgeTogMn07CisKKyAgdmFyIGEg
PSBPYmplY3Qua2V5cyhvKTsKKyAgaWYgKE9iamVjdC5pc0V4dGVuc2libGUoYSkgPT09IHRydWUp
IHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmtleXMpICYmIGZuRXhpc3RzKE9i
amVjdC5pc0V4dGVuc2libGUpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xNC0yLTQuanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjE0LTItNS5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjE0LTItNS5q
cwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4xNC0yLTUuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDEgKzEs
NDEgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8v
LyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0K
LS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQot
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyAN
Ci0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjE0
LTItNSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4z
LjE0LzE1LjIuMy4xNC0yLTUuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmtleXMgcmV0
dXJucyB0aGUgc3RhbmRhcmQgYnVpbHQtaW4gQXJyYXkgdGhhdCBpcyBub3Qgc2VhbGVkIiwNCi0N
Ci10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBvID0geyB4OiAxLCB5OiAyfTsN
Ci0NCi0gIHZhciBhID0gT2JqZWN0LmtleXMobyk7DQotICBpZiAoT2JqZWN0LmlzU2VhbGVkKGEp
ID09PSBmYWxzZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3Qua2V5
cykgJiYgZm5FeGlzdHMoT2JqZWN0LmlzU2VhbGVkKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
eworaWQ6ICIxNS4yLjMuMTQtMi01IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
Mi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTUuanMiLAorCitkZXNjcmlwdGlvbjogIk9i
amVjdC5rZXlzIHJldHVybnMgdGhlIHN0YW5kYXJkIGJ1aWx0LWluIEFycmF5IHRoYXQgaXMgbm90
IHNlYWxlZCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgbyA9IHsgeDog
MSwgeTogMn07CisKKyAgdmFyIGEgPSBPYmplY3Qua2V5cyhvKTsKKyAgaWYgKE9iamVjdC5pc1Nl
YWxlZChhKSA9PT0gZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0Lmtl
eXMpICYmIGZuRXhpc3RzKE9iamVjdC5pc1NlYWxlZCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjE0LTItNS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTQtMi02LmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMTQtMi02LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjE0LTItNi5qcwkod29ya2luZyBjb3B5
KQpAQCAtMSw0MSArMSw0MSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
DQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQot
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQot
aWQ6ICIxNS4yLjMuMTQtMi02IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4y
LzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTItNi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJP
YmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSB0aGF0IGlzIG5v
dCBmcm96ZW4iLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIG8gPSB7
IHg6IDEsIHk6IDJ9Ow0KLQ0KLSAgdmFyIGEgPSBPYmplY3Qua2V5cyhvKTsNCi0gIGlmIChPYmpl
Y3QuaXNGcm96ZW4oYSkgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9
LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhp
c3RzKE9iamVjdC5rZXlzKSAmJiBmbkV4aXN0cyhPYmplY3QuaXNGcm96ZW4pOw0KLSB9DQotfSk7
DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisv
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4xNC0yLTYiLAorCitwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTItNi5qcyIsCisKK2Rl
c2NyaXB0aW9uOiAiT2JqZWN0LmtleXMgcmV0dXJucyB0aGUgc3RhbmRhcmQgYnVpbHQtaW4gQXJy
YXkgdGhhdCBpcyBub3QgZnJvemVuIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7Cisg
IHZhciBvID0geyB4OiAxLCB5OiAyfTsKKworICB2YXIgYSA9IE9iamVjdC5rZXlzKG8pOworICBp
ZiAoT2JqZWN0LmlzRnJvemVuKGEpID09PSBmYWxzZSkgeworICAgIHJldHVybiB0cnVlOworICB9
CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4
aXN0cyhPYmplY3Qua2V5cykgJiYgZm5FeGlzdHMoT2JqZWN0LmlzRnJvemVuKTsKKyB9Cit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMTQtMi02LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4x
NC0zLTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4xNC0zLTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTQtMy0xLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQzICsxLDQzIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4xNC0zLTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xNC8xNS4yLjMuMTQtMy0xLmpzIiwNCi0NCi1k
ZXNjcmlwdGlvbjogIk9iamVjdC5rZXlzIHJldHVybnMgdGhlIHN0YW5kYXJkIGJ1aWx0LWluIEFy
cmF5IGNvbnRhaW5pbmcgb3duIGVudW1lcmFibGUgcHJvcGVydGllcyIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgbyA9IHsgeDogMSwgeTogMn07DQotDQotICB2YXIg
YSA9IE9iamVjdC5rZXlzKG8pOw0KLSAgaWYgKGEubGVuZ3RoID09PSAyICYmDQotICAgICAgYVsw
XSA9PT0gJ3gnICYmDQotICAgICAgYVsxXSA9PT0gJ3knKSB7DQotICAgIHJldHVybiB0cnVlOw0K
LSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0
dXJuIGZuRXhpc3RzKE9iamVjdC5rZXlzKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6
ICIxNS4yLjMuMTQtMy0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4y
LjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0zLTEuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5r
ZXlzIHJldHVybnMgdGhlIHN0YW5kYXJkIGJ1aWx0LWluIEFycmF5IGNvbnRhaW5pbmcgb3duIGVu
dW1lcmFibGUgcHJvcGVydGllcyIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2
YXIgbyA9IHsgeDogMSwgeTogMn07CisKKyAgdmFyIGEgPSBPYmplY3Qua2V5cyhvKTsKKyAgaWYg
KGEubGVuZ3RoID09PSAyICYmCisgICAgICBhWzBdID09PSAneCcgJiYKKyAgICAgIGFbMV0gPT09
ICd5JykgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3Qua2V5cyk7CisgfQorfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjE0LTMtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
MTQtMy0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTQtMy0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjE0LTMtMi5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw0MyArMSw0MyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTQtMy0yIiwNCi0NCi1wYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTMtMi5qcyIsDQotDQot
ZGVzY3JpcHRpb246ICJPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBB
cnJheSBjb250YWluaW5nIG93biBlbnVtZXJhYmxlIHByb3BlcnRpZXMgKGZ1bmN0aW9uKSIsDQot
DQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBmdW5jdGlvbiBmb28oKSB7fQ0KLSAg
Zm9vLnggPSAxOw0KLSAgDQotICB2YXIgYSA9IE9iamVjdC5rZXlzKGZvbyk7DQotICBpZiAoYS5s
ZW5ndGggPT09IDEgJiYNCi0gICAgICBhWzBdID09PSAneCcpIHsNCi0gICAgcmV0dXJuIHRydWU7
DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICBy
ZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmtleXMpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7Citp
ZDogIjE1LjIuMy4xNC0zLTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1
LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTMtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0
LmtleXMgcmV0dXJucyB0aGUgc3RhbmRhcmQgYnVpbHQtaW4gQXJyYXkgY29udGFpbmluZyBvd24g
ZW51bWVyYWJsZSBwcm9wZXJ0aWVzIChmdW5jdGlvbikiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsKKyAgZnVuY3Rpb24gZm9vKCkge30KKyAgZm9vLnggPSAxOworICAKKyAgdmFyIGEg
PSBPYmplY3Qua2V5cyhmb28pOworICBpZiAoYS5sZW5ndGggPT09IDEgJiYKKyAgICAgIGFbMF0g
PT09ICd4JykgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3Qua2V5cyk7CisgfQor
fSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjE0LTMtMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMTQtMy0zLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTQtMy0zLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjE0LTMt
My5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMTQtMy0zIiwNCi0NCi1wYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTMtMy5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1p
biBBcnJheSBjb250YWluaW5nIG93biBlbnVtZXJhYmxlIHByb3BlcnRpZXMgKGFycmF5KSIsDQot
DQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgbyA9IFsxLCAyXTsNCi0gIHZh
ciBhID0gT2JqZWN0LmtleXMobyk7DQotICBpZiAoYS5sZW5ndGggPT09IDIgJiYNCi0gICAgICBh
WzBdID09PSAnMCcgJiYNCi0gICAgICBhWzFdID09PSAnMScpIHsNCi0gICAgcmV0dXJuIHRydWU7
DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICBy
ZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmtleXMpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7Citp
ZDogIjE1LjIuMy4xNC0zLTMiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1
LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTMtMy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0
LmtleXMgcmV0dXJucyB0aGUgc3RhbmRhcmQgYnVpbHQtaW4gQXJyYXkgY29udGFpbmluZyBvd24g
ZW51bWVyYWJsZSBwcm9wZXJ0aWVzIChhcnJheSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKyAgdmFyIG8gPSBbMSwgMl07CisgIHZhciBhID0gT2JqZWN0LmtleXMobyk7CisgIGlm
IChhLmxlbmd0aCA9PT0gMiAmJgorICAgICAgYVswXSA9PT0gJzAnICYmCisgICAgICBhWzFdID09
PSAnMScpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmtleXMpOworIH0KK30p
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4xNC0zLTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1z
dHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4z
LjE0LTMtNC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjE0LTMtNC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4xNC0zLTQu
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTQgKzEsNTQgQEAKLS8vIENvcHlyaWdodCAoYykgMjAw
OSBHb29nbGUsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQotLy8NCi0vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoNCi0vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuDQot
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLg0KLS8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uDQotLy8NCi0vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SDQotLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MNCi0vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LWlkOiAiMTUuMi4zLjE0LTMtNCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
Mi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0zLTQuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAi
T2JqZWN0LmtleXMgb2YgYW4gYXJndW1lbnRzIG9iamVjdCByZXR1cm5zIHRoZSBpbmRpY2VzIG9m
IHRoZSBnaXZlbiBhcmd1bWVudHMiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LSAgZnVuY3Rpb24gdGVzdEFyZ3MyKHgsIHksIHopIHsNCi0gICAgLy8gUHJvcGVydGllcyBvZiB0
aGUgYXJndW1lbnRzIG9iamVjdCBhcmUgZW51bWVyYWJsZS4NCi0gICAgdmFyIGEgPSBPYmplY3Qu
a2V5cyhhcmd1bWVudHMpOw0KLSAgICBpZiAoYS5sZW5ndGggPT09IDIgJiYgYVswXSA9PT0gIjAi
ICYmIGFbMV0gPT09ICIxIikNCi0gICAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gIGZ1bmN0aW9u
IHRlc3RBcmdzMyh4LCB5LCB6KSB7DQotICAgIC8vIFByb3BlcnRpZXMgb2YgdGhlIGFyZ3VtZW50
cyBvYmplY3QgYXJlIGVudW1lcmFibGUuDQotICAgIHZhciBhID0gT2JqZWN0LmtleXMoYXJndW1l
bnRzKTsNCi0gICAgaWYgKGEubGVuZ3RoID09PSAzICYmIGFbMF0gPT09ICIwIiAmJiBhWzFdID09
PSAiMSIgJiYgYVsyXSA9PT0gIjIiKQ0KLSAgICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSAgZnVu
Y3Rpb24gdGVzdEFyZ3M0KHgsIHksIHopIHsNCi0gICAgLy8gUHJvcGVydGllcyBvZiB0aGUgYXJn
dW1lbnRzIG9iamVjdCBhcmUgZW51bWVyYWJsZS4NCi0gICAgdmFyIGEgPSBPYmplY3Qua2V5cyhh
cmd1bWVudHMpOw0KLSAgICBpZiAoYS5sZW5ndGggPT09IDQgJiYgYVswXSA9PT0gIjAiICYmIGFb
MV0gPT09ICIxIiAmJiBhWzJdID09PSAiMiIgJiYgYVszXSA9PT0gIjMiKQ0KLSAgICAgIHJldHVy
biB0cnVlOw0KLSAgfQ0KLSAgcmV0dXJuIHRlc3RBcmdzMigxLCAyKSAmJiB0ZXN0QXJnczMoMSwg
MiwgMykgJiYgdGVzdEFyZ3M0KDEsIDIsIDMsIDQpOw0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5rZXlzKTsNCi0g
fQ0KKy8vIENvcHlyaWdodCAoYykgMjAwOSBHb29nbGUsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLworLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZAorLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZAorLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisvLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLworLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFCisvLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
eworaWQ6ICIxNS4yLjMuMTQtMy00IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
Mi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0zLTQuanMiLAorCitkZXNjcmlwdGlvbjogIk9i
amVjdC5rZXlzIG9mIGFuIGFyZ3VtZW50cyBvYmplY3QgcmV0dXJucyB0aGUgaW5kaWNlcyBvZiB0
aGUgZ2l2ZW4gYXJndW1lbnRzIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZ1
bmN0aW9uIHRlc3RBcmdzMih4LCB5LCB6KSB7CisgICAgLy8gUHJvcGVydGllcyBvZiB0aGUgYXJn
dW1lbnRzIG9iamVjdCBhcmUgZW51bWVyYWJsZS4KKyAgICB2YXIgYSA9IE9iamVjdC5rZXlzKGFy
Z3VtZW50cyk7CisgICAgaWYgKGEubGVuZ3RoID09PSAyICYmIGFbMF0gPT09ICIwIiAmJiBhWzFd
ID09PSAiMSIpCisgICAgICByZXR1cm4gdHJ1ZTsKKyAgfQorICBmdW5jdGlvbiB0ZXN0QXJnczMo
eCwgeSwgeikgeworICAgIC8vIFByb3BlcnRpZXMgb2YgdGhlIGFyZ3VtZW50cyBvYmplY3QgYXJl
IGVudW1lcmFibGUuCisgICAgdmFyIGEgPSBPYmplY3Qua2V5cyhhcmd1bWVudHMpOworICAgIGlm
IChhLmxlbmd0aCA9PT0gMyAmJiBhWzBdID09PSAiMCIgJiYgYVsxXSA9PT0gIjEiICYmIGFbMl0g
PT09ICIyIikKKyAgICAgIHJldHVybiB0cnVlOworICB9CisgIGZ1bmN0aW9uIHRlc3RBcmdzNCh4
LCB5LCB6KSB7CisgICAgLy8gUHJvcGVydGllcyBvZiB0aGUgYXJndW1lbnRzIG9iamVjdCBhcmUg
ZW51bWVyYWJsZS4KKyAgICB2YXIgYSA9IE9iamVjdC5rZXlzKGFyZ3VtZW50cyk7CisgICAgaWYg
KGEubGVuZ3RoID09PSA0ICYmIGFbMF0gPT09ICIwIiAmJiBhWzFdID09PSAiMSIgJiYgYVsyXSA9
PT0gIjIiICYmIGFbM10gPT09ICIzIikKKyAgICAgIHJldHVybiB0cnVlOworICB9CisgIHJldHVy
biB0ZXN0QXJnczIoMSwgMikgJiYgdGVzdEFyZ3MzKDEsIDIsIDMpICYmIHRlc3RBcmdzNCgxLCAy
LCAzLCA0KTsKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0
dXJuIGZuRXhpc3RzKE9iamVjdC5rZXlzKTsKKyB9CiB9KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjE0LTMtNC5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMTQtMy01LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTQtMy01LmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjE0
LTMtNS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MSArMSw0MSBAQAotLy8gQ29weXJpZ2h0IChj
KSAyMDA5IEdvb2dsZSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4NCi0vLw0KLS8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0Og0KLS8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4NCi0vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uDQot
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLw0KLS8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1INCi0vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUw0KLS8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFDQotLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
DQotLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7DQotaWQ6ICIxNS4yLjMuMTQtMy01IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTMtNS5qcyIsDQotDQotZGVzY3JpcHRp
b246ICJPYmplY3Qua2V5cyBtdXN0IHJldHVybiBhIGZyZXNoIGFycmF5IG9uIGVhY2ggaW52b2Nh
dGlvbiIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgbGl0ZXJhbCA9
IHthOiAxfTsNCi0gIHZhciBrZXlzQmVmb3JlID0gT2JqZWN0LmtleXMobGl0ZXJhbCk7DQotICBp
ZiAoa2V5c0JlZm9yZVswXSAhPSAnYScpIHJldHVybiBmYWxzZTsNCi0gIGtleXNCZWZvcmVbMF0g
PSAneCc7DQotICB2YXIga2V5c0FmdGVyID0gT2JqZWN0LmtleXMobGl0ZXJhbCk7DQotICByZXR1
cm4gKGtleXNCZWZvcmVbMF0gPT0gJ3gnKSAmJiAoa2V5c0FmdGVyWzBdID09ICdhJyk7DQotIH0s
DQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlz
dHMoT2JqZWN0LmtleXMpOw0KLSB9DQotfSk7DQorLy8gQ29weXJpZ2h0IChjKSAyMDA5IEdvb2ds
ZSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vCisvLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OgorLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisvLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvCisvLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKy8vCisvLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYKKy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4xNC0zLTUiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTMt
NS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmtleXMgbXVzdCByZXR1cm4gYSBmcmVzaCBh
cnJheSBvbiBlYWNoIGludm9jYXRpb24iLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsK
KyAgdmFyIGxpdGVyYWwgPSB7YTogMX07CisgIHZhciBrZXlzQmVmb3JlID0gT2JqZWN0LmtleXMo
bGl0ZXJhbCk7CisgIGlmIChrZXlzQmVmb3JlWzBdICE9ICdhJykgcmV0dXJuIGZhbHNlOworICBr
ZXlzQmVmb3JlWzBdID0gJ3gnOworICB2YXIga2V5c0FmdGVyID0gT2JqZWN0LmtleXMobGl0ZXJh
bCk7CisgIHJldHVybiAoa2V5c0JlZm9yZVswXSA9PSAneCcpICYmIChrZXlzQWZ0ZXJbMF0gPT0g
J2EnKTsKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJu
IGZuRXhpc3RzKE9iamVjdC5rZXlzKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMTQtMy01
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTAtMS5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjItMC0x
LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjItMC0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM0ICsx
LDM0IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0v
Ly8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQN
Ci0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0K
LS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8g
DQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4y
LTAtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4z
LjIvMTUuMi4zLjItMC0xLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRQcm90b3R5
cGVPZiBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24iLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgew0KLSAgaWYgKHR5cGVvZihPYmplY3QuZ2V0UHJvdG90eXBlT2YpID09PSAiZnVuY3Rp
b24iKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
CitpZDogIjE1LjIuMy4yLTAtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIv
MTUuMi4zLzE1LjIuMy4yLzE1LjIuMy4yLTAtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0
LmdldFByb3RvdHlwZU9mIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiIsCisKK3Rlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgeworICBpZiAodHlwZW9mKE9iamVjdC5nZXRQcm90b3R5cGVPZikgPT09
ICJmdW5jdGlvbiIpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0KK30pOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4yLTAtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAg
KzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMi0wLTIuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4yLTAtMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTAtMi5qcwkod29ya2luZyBjb3B5
KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
DQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQot
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQot
aWQ6ICIxNS4yLjMuMi0wLTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIv
MTUuMi4zLzE1LjIuMy4yLzE1LjIuMy4yLTAtMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmpl
Y3QuZ2V0UHJvdG90eXBlT2YgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFt
ZXRlciIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBpZiAoT2JqZWN0Lmdl
dFByb3RvdHlwZU9mLmxlbmd0aCA9PT0gMSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0g
fSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4
aXN0cyhPYmplY3QuZ2V0UHJvdG90eXBlT2YpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7Citp
ZDogIjE1LjIuMy4yLTAtMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUu
Mi4zLzE1LjIuMy4yLzE1LjIuMy4yLTAtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0Lmdl
dFByb3RvdHlwZU9mIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMSBwYXJhbWV0ZXIi
LAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgaWYgKE9iamVjdC5nZXRQcm90b3R5
cGVPZi5sZW5ndGggPT09IDEpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0Lmdl
dFByb3RvdHlwZU9mKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMi0wLTIuanMKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjItMC0zLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMi0wLTMuanMJKHJldmlz
aW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMi0wLTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDQgKzEsNDQgQEAKLS8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjItMC0zIiwNCi0N
Ci1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMu
Mi0wLTMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldFByb3RvdHlwZU9mIG11c3Qg
dGFrZSAxIHBhcmFtZXRlciIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB0
cnkNCi0gIHsNCi0gICAgT2JqZWN0LmdldFByb3RvdHlwZU9mKCk7DQotICB9DQotICBjYXRjaChl
KQ0KLSAgew0KLSAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KLSAgICAgIHJldHVybiB0
cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0K
LSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRQcm90b3R5cGVPZik7DQotIH0NCi19KTsNCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjItMC0zIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMC0zLmpzIiwKKworZGVzY3JpcHRp
b246ICJPYmplY3QuZ2V0UHJvdG90eXBlT2YgbXVzdCB0YWtlIDEgcGFyYW1ldGVyIiwKKwordGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHRyeQorICB7CisgICAgT2JqZWN0LmdldFByb3Rv
dHlwZU9mKCk7CisgIH0KKyAgY2F0Y2goZSkKKyAgeworICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBl
RXJyb3IpCisgICAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldFByb3RvdHlwZU9m
KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMi0wLTMuanMKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjItMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjItMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTEu
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDMgKzEsNDMgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQot
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjItMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMS5qcyIsDQotDQotZGVzY3Jp
cHRpb246ICJPYmplY3QuZ2V0UHJvdG90eXBlT2YgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9m
IGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3QiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgew0KLSAgdHJ5IHsNCi0gICAgT2JqZWN0LmdldFByb3RvdHlwZU9mKDApOw0KLSAgfQ0KLSAg
Y2F0Y2ggKGUpIHsNCi0gICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCi0gICAgICBy
ZXR1cm4gdHJ1ZTsNCi0gICAgfQ0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRQcm90b3R5cGVPZik7
DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKwor
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjItMSIsCisKK3BhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4yLzE1LjIuMy4yLTEuanMiLAor
CitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRQcm90b3R5cGVPZiB0aHJvd3MgVHlwZUVycm9yIGlm
IHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeworICB0cnkgeworICAgIE9iamVjdC5nZXRQcm90b3R5cGVPZigwKTsKKyAgfQor
ICBjYXRjaCAoZSkgeworICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7CisgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICB9CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRQcm90b3R5cGVPZik7CisgfQor
fSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjItMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
Mi0yLTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4yLTItMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItMS5qcwko
d29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMi0yLTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4yLzE1LjIuMy4yLTItMS5qcyIsDQotDQotZGVzY3Jp
cHRpb246ICJPYmplY3QuZ2V0UHJvdG90eXBlT2YgcmV0dXJucyB0aGUgW1tQcm90b3R5cGVdXSBv
ZiBpdHMgcGFyYW1ldGVyIChCb29sZWFuKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKEJvb2xlYW4pID09PSBGdW5jdGlvbi5w
cm90b3R5cGUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldFBy
b3RvdHlwZU9mKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMi0yLTEi
LAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4y
LjMuMi0yLTEuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1
cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKEJvb2xlYW4pIiwKKwordGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoQm9v
bGVhbikgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgeworICAgIHJldHVybiB0cnVlOworICB9Cisg
fSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0
cyhPYmplY3QuZ2V0UHJvdG90eXBlT2YpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTIt
MS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMi0yLTEwLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMi0y
LTEwLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjItMi0xMC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwz
OCArMSwzOCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
DQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQot
Ly8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4y
LjMuMi0yLTEwIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8x
NS4yLjMuMi8xNS4yLjMuMi0yLTEwLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRQ
cm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFJl
Z0V4cCkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgaWYgKE9iamVjdC5n
ZXRQcm90b3R5cGVPZihSZWdFeHApID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsNCi0gICAgcmV0
dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKTsNCi0gfQ0KLX0p
Ow0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAor
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisv
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMi0yLTEwIiwKKworcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xMC5qcyIsCisKK2Rl
c2NyaXB0aW9uOiAiT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBl
XV0gb2YgaXRzIHBhcmFtZXRlciAoUmVnRXhwKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgeworICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKFJlZ0V4cCkgPT09IEZ1bmN0aW9uLnBy
b3RvdHlwZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0UHJvdG90eXBl
T2YpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItMTAuanMKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjItMi0xMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjItMi0xMS5qcwkocmV2aXNpb24gMTk5
NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4yLTItMTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzggKzEsMzggQEAKLS8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQot
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1F
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjItMi0xMSIsDQotDQotcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0x
MS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0UHJvdG90eXBlT2YgcmV0dXJucyB0
aGUgW1tQcm90b3R5cGVdXSBvZiBpdHMgcGFyYW1ldGVyIChFcnJvcikiLA0KLQ0KLXRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihFcnJvcikg
PT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwN
Ci0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0
cyhPYmplY3QuZ2V0UHJvdG90eXBlT2YpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDog
IjE1LjIuMy4yLTItMTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIu
My8xNS4yLjMuMi8xNS4yLjMuMi0yLTExLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0
UHJvdG90eXBlT2YgcmV0dXJucyB0aGUgW1tQcm90b3R5cGVdXSBvZiBpdHMgcGFyYW1ldGVyIChF
cnJvcikiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgaWYgKE9iamVjdC5nZXRQ
cm90b3R5cGVPZihFcnJvcikgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgeworICAgIHJldHVybiB0
cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJl
dHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0UHJvdG90eXBlT2YpOworIH0KK30pOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4yLTItMTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjItMi0xMi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjItMi0xMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItMTIuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMzggKzEsMzggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
Uw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0K
LS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
ew0KLWlkOiAiMTUuMi4zLjItMi0xMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xMi5qcyIsDQotDQotZGVzY3JpcHRpb246
ICJPYmplY3QuZ2V0UHJvdG90eXBlT2YgcmV0dXJucyB0aGUgW1tQcm90b3R5cGVdXSBvZiBpdHMg
cGFyYW1ldGVyIChFdmFsRXJyb3IpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsN
Ci0gIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoRXZhbEVycm9yKSA9PT0gRnVuY3Rpb24ucHJv
dG90eXBlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRQcm90
b3R5cGVPZik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjItMi0xMiIs
CisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4yLzE1LjIu
My4yLTItMTIuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1
cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKEV2YWxFcnJvcikiLAorCit0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihF
dmFsRXJyb3IpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAg
fQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5F
eGlzdHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
Mi0yLTEyLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIwor
TEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItMTMuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4yLTItMTMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMi0yLTEzLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDM4ICsxLDM4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0v
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDog
IjE1LjIuMy4yLTItMTMiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUu
Mi4zLzE1LjIuMy4yLzE1LjIuMy4yLTItMTMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0
LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRl
ciAoUmFuZ2VFcnJvcikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgaWYg
KE9iamVjdC5nZXRQcm90b3R5cGVPZihSYW5nZUVycm9yKSA9PT0gRnVuY3Rpb24ucHJvdG90eXBl
KSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRQcm90b3R5cGVP
Zik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8K
Ky8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAK
Ky8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisK
KworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjItMi0xMyIsCisKK3Bh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4yLzE1LjIuMy4yLTIt
MTMuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRo
ZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFJhbmdlRXJyb3IpIiwKKwordGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoUmFuZ2VF
cnJvcikgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgeworICAgIHJldHVybiB0cnVlOworICB9Cisg
fSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0
cyhPYmplY3QuZ2V0UHJvdG90eXBlT2YpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTIt
MTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjItMi0xNC5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjIt
Mi0xNC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItMTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
MzggKzEsMzggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUu
Mi4zLjItMi0xNCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMv
MTUuMi4zLjIvMTUuMi4zLjItMi0xNC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0
UHJvdG90eXBlT2YgcmV0dXJucyB0aGUgW1tQcm90b3R5cGVdXSBvZiBpdHMgcGFyYW1ldGVyIChS
ZWZlcmVuY2VFcnJvcikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgaWYg
KE9iamVjdC5nZXRQcm90b3R5cGVPZihSZWZlcmVuY2VFcnJvcikgPT09IEZ1bmN0aW9uLnByb3Rv
dHlwZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0UHJvdG90
eXBlT2YpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisv
Ly8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4yLTItMTQiLAor
CitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMu
Mi0yLTE0LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0UHJvdG90eXBlT2YgcmV0dXJu
cyB0aGUgW1tQcm90b3R5cGVdXSBvZiBpdHMgcGFyYW1ldGVyIChSZWZlcmVuY2VFcnJvcikiLAor
Cit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVP
ZihSZWZlcmVuY2VFcnJvcikgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgeworICAgIHJldHVybiB0
cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJl
dHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0UHJvdG90eXBlT2YpOworIH0KK30pOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4yLTItMTQuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjItMi0xNS5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjItMi0xNS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItMTUuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMzggKzEsMzggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
Uw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0K
LS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
ew0KLWlkOiAiMTUuMi4zLjItMi0xNSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xNS5qcyIsDQotDQotZGVzY3JpcHRpb246
ICJPYmplY3QuZ2V0UHJvdG90eXBlT2YgcmV0dXJucyB0aGUgW1tQcm90b3R5cGVdXSBvZiBpdHMg
cGFyYW1ldGVyIChTeW50YXhFcnJvcikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
ew0KLSAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihTeW50YXhFcnJvcikgPT09IEZ1bmN0aW9u
LnByb3RvdHlwZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0
UHJvdG90eXBlT2YpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4yLTIt
MTUiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8x
NS4yLjMuMi0yLTE1LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0UHJvdG90eXBlT2Yg
cmV0dXJucyB0aGUgW1tQcm90b3R5cGVdXSBvZiBpdHMgcGFyYW1ldGVyIChTeW50YXhFcnJvciki
LAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgaWYgKE9iamVjdC5nZXRQcm90b3R5
cGVPZihTeW50YXhFcnJvcikgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgeworICAgIHJldHVybiB0
cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJl
dHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0UHJvdG90eXBlT2YpOworIH0KK30pOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4yLTItMTUuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjItMi0xNi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjItMi0xNi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItMTYuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMzggKzEsMzggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
Uw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0K
LS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
ew0KLWlkOiAiMTUuMi4zLjItMi0xNiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xNi5qcyIsDQotDQotZGVzY3JpcHRpb246
ICJPYmplY3QuZ2V0UHJvdG90eXBlT2YgcmV0dXJucyB0aGUgW1tQcm90b3R5cGVdXSBvZiBpdHMg
cGFyYW1ldGVyIChUeXBlRXJyb3IpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsN
Ci0gIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoVHlwZUVycm9yKSA9PT0gRnVuY3Rpb24ucHJv
dG90eXBlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRQcm90
b3R5cGVPZik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjItMi0xNiIs
CisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4yLzE1LjIu
My4yLTItMTYuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1
cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFR5cGVFcnJvcikiLAorCit0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihU
eXBlRXJyb3IpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAg
fQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5F
eGlzdHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
Mi0yLTE2LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIwor
TEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItMTcuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4yLTItMTcuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMi0yLTE3LmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDM4ICsxLDM4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0v
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDog
IjE1LjIuMy4yLTItMTciLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUu
Mi4zLzE1LjIuMy4yLzE1LjIuMy4yLTItMTcuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0
LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRl
ciAoVVJJRXJyb3IpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmIChP
YmplY3QuZ2V0UHJvdG90eXBlT2YoVVJJRXJyb3IpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsN
Ci0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKTsN
Ci0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMi0yLTE3IiwKKworcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xNy5q
cyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtb
UHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoVVJJRXJyb3IpIiwKKwordGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7CisgIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoVVJJRXJyb3IpID09
PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3By
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0
LmdldFByb3RvdHlwZU9mKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMi0yLTE3LmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItMTguanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItMTguanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMi0yLTE4LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM4ICsxLDM4
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4yLTIt
MTgiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4y
LzE1LjIuMy4yLTItMTguanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldFByb3RvdHlw
ZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoSlNPTikiLA0K
LQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgaWYgKE9iamVjdC5nZXRQcm90b3R5
cGVPZihKU09OKSA9PT0gT2JqZWN0LnByb3RvdHlwZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0g
IH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVy
biBmbkV4aXN0cyhPYmplY3QuZ2V0UHJvdG90eXBlT2YpOw0KLSB9DQotfSk7DQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7CitpZDogIjE1LjIuMy4yLTItMTgiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTE4LmpzIiwKKworZGVzY3JpcHRpb246ICJP
YmplY3QuZ2V0UHJvdG90eXBlT2YgcmV0dXJucyB0aGUgW1tQcm90b3R5cGVdXSBvZiBpdHMgcGFy
YW1ldGVyIChKU09OKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZiAoT2Jq
ZWN0LmdldFByb3RvdHlwZU9mKEpTT04pID09PSBPYmplY3QucHJvdG90eXBlKSB7CisgICAgcmV0
dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsK
KyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRQcm90b3R5cGVPZik7CisgfQorfSk7CgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjItMi0xOC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMj
IC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMi0yLTIu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4yLTItMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItMi5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMSw1MCArMSw1MCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
DQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLS8qDQotTGV0ICd4JyBiZSB0aGUgcmV0dXJu
IHZhbHVlIGZyb20gZ2V0UHJvdG90eXBlT2Ygd2hlbiBjYWxsZWQgb24gZC4NCi1UaGVuLCB4Lmlz
UHJvdG90eXBlT2YoZCkgbXVzdCBiZSB0cnVlLg0KLSovDQotDQotDQotRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4yLTItMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yLmpzIiwNCi0NCi1kZXNj
cmlwdGlvbjogIk9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1d
IG9mIGl0cyBwYXJhbWV0ZXIgKGN1c3RvbSBvYmplY3QpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsNCi0gIGZ1bmN0aW9uIGJhc2UoKSB7fQ0KLQ0KLSAgZnVuY3Rpb24gZGVyaXZl
ZCgpIHt9DQotICBkZXJpdmVkLnByb3RvdHlwZSA9IG5ldyBiYXNlKCk7DQotDQotICB2YXIgZCA9
IG5ldyBkZXJpdmVkKCk7DQotICB2YXIgeCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihkKTsNCi0g
IGlmICh4LmlzUHJvdG90eXBlT2YoZCkgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQot
ICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1
cm4gZm5FeGlzdHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAK
Ky8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworLyoKK0xldCAneCcgYmUgdGhlIHJldHVy
biB2YWx1ZSBmcm9tIGdldFByb3RvdHlwZU9mIHdoZW4gY2FsbGVkIG9uIGQuCitUaGVuLCB4Lmlz
UHJvdG90eXBlT2YoZCkgbXVzdCBiZSB0cnVlLgorKi8KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggeworaWQ6ICIxNS4yLjMuMi0yLTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTIuanMiLAorCitkZXNjcmlwdGlvbjog
Ik9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBw
YXJhbWV0ZXIgKGN1c3RvbSBvYmplY3QpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
CisgIGZ1bmN0aW9uIGJhc2UoKSB7fQorCisgIGZ1bmN0aW9uIGRlcml2ZWQoKSB7fQorICBkZXJp
dmVkLnByb3RvdHlwZSA9IG5ldyBiYXNlKCk7CisKKyAgdmFyIGQgPSBuZXcgZGVyaXZlZCgpOwor
ICB2YXIgeCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihkKTsKKyAgaWYgKHguaXNQcm90b3R5cGVP
ZihkKSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0UHJv
dG90eXBlT2YpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItMi5qcwpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMi0yLTMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItMy5qcwkocmV2aXNpb24g
MTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4yLTItMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYN
Ci0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0K
LUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMi0yLTMiLA0KLQ0KLXBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4yLzE1LjIuMy4yLTIt
My5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0UHJvdG90eXBlT2YgcmV0dXJucyB0
aGUgW1tQcm90b3R5cGVdXSBvZiBpdHMgcGFyYW1ldGVyIChPYmplY3QpIiwNCi0NCi10ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoT2JqZWN0
KSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9
LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhp
c3RzKE9iamVjdC5nZXRQcm90b3R5cGVPZik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTUuMi4zLjItMi0zIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4y
LjMvMTUuMi4zLjIvMTUuMi4zLjItMi0zLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0
UHJvdG90eXBlT2YgcmV0dXJucyB0aGUgW1tQcm90b3R5cGVdXSBvZiBpdHMgcGFyYW1ldGVyIChP
YmplY3QpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGlmIChPYmplY3QuZ2V0
UHJvdG90eXBlT2YoT2JqZWN0KSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7CisgICAgcmV0dXJu
IHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAg
cmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRQcm90b3R5cGVPZik7CisgfQorfSk7CgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjItMi0zLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItNC5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjItMi00LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjItMi00LmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDM4ICsxLDM4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MN
Ci0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0v
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsN
Ci1pZDogIjE1LjIuMy4yLTItNCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
Mi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi00LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9i
amVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJh
bWV0ZXIgKEZ1bmN0aW9uKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBp
ZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKEZ1bmN0aW9uKSA9PT0gRnVuY3Rpb24ucHJvdG90eXBl
KSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRQcm90b3R5cGVP
Zik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8K
Ky8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAK
Ky8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisK
KworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjItMi00IiwKKworcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi00
LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0UHJvdG90eXBlT2YgcmV0dXJucyB0aGUg
W1tQcm90b3R5cGVdXSBvZiBpdHMgcGFyYW1ldGVyIChGdW5jdGlvbikiLAorCit0ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsKKyAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihGdW5jdGlvbikg
PT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKwor
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmpl
Y3QuZ2V0UHJvdG90eXBlT2YpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItNC5qcwpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMi0yLTUuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItNS5qcwko
cmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4yLTItNS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBA
QAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0K
LS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMi0yLTUi
LA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4yLzE1
LjIuMy4yLTItNS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0UHJvdG90eXBlT2Yg
cmV0dXJucyB0aGUgW1tQcm90b3R5cGVdXSBvZiBpdHMgcGFyYW1ldGVyIChBcnJheSkiLA0KLQ0K
LXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVP
ZihBcnJheSkgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0g
IH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVy
biBmbkV4aXN0cyhPYmplY3QuZ2V0UHJvdG90eXBlT2YpOw0KLSB9DQotfSk7DQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7CitpZDogIjE1LjIuMy4yLTItNSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjIvMTUuMi4zLzE1LjIuMy4yLzE1LjIuMy4yLTItNS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2Jq
ZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFt
ZXRlciAoQXJyYXkpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGlmIChPYmpl
Y3QuZ2V0UHJvdG90eXBlT2YoQXJyYXkpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsKKyAgICBy
ZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
eworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKTsKKyB9Cit9KTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMi0yLTUuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQoj
IyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjItMi02
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMi0yLTYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMi0yLTYuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsMzggKzEsMzggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggew0KLWlkOiAiMTUuMi4zLjItMi02IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTYuanMiLA0KLQ0KLWRlc2NyaXB0aW9u
OiAiT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRz
IHBhcmFtZXRlciAoU3RyaW5nKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQot
ICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKFN0cmluZykgPT09IEZ1bmN0aW9uLnByb3RvdHlw
ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0UHJvdG90eXBl
T2YpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
CisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8g
CisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4yLTItNiIsCisKK3Bh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4yLzE1LjIuMy4yLTIt
Ni5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhl
IFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoU3RyaW5nKSIsCisKK3Rlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgeworICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKFN0cmluZykgPT09
IEZ1bmN0aW9uLnByb3RvdHlwZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3Qu
Z2V0UHJvdG90eXBlT2YpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItNi5qcwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMi0yLTcuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTItNy5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4yLTItNy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAot
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0K
LQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMi0yLTciLA0K
LQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4yLzE1LjIu
My4yLTItNy5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0UHJvdG90eXBlT2YgcmV0
dXJucyB0aGUgW1tQcm90b3R5cGVdXSBvZiBpdHMgcGFyYW1ldGVyIChOdW1iZXIpIiwNCi0NCi10
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2Yo
TnVtYmVyKSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAg
fQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJu
IGZuRXhpc3RzKE9iamVjdC5nZXRQcm90b3R5cGVPZik7DQotIH0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTUuMi4zLjItMi03IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
Mi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi03LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmpl
Y3QuZ2V0UHJvdG90eXBlT2YgcmV0dXJucyB0aGUgW1tQcm90b3R5cGVdXSBvZiBpdHMgcGFyYW1l
dGVyIChOdW1iZXIpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGlmIChPYmpl
Y3QuZ2V0UHJvdG90eXBlT2YoTnVtYmVyKSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7CisgICAg
cmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRQcm90b3R5cGVPZik7CisgfQorfSk7CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjItMi03LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4yLTIt
OC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjItMi04LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjItMi04LmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDM4ICsxLDM4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQot
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsNCi1pZDogIjE1LjIuMy4yLTItOCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi04LmpzIiwNCi0NCi1kZXNjcmlwdGlv
bjogIk9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0
cyBwYXJhbWV0ZXIgKE1hdGgpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0g
IGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoTWF0aCkgPT09IE9iamVjdC5wcm90b3R5cGUpIHsN
Ci0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKTsN
Ci0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMi0yLTgiLAorCitwYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTguanMi
LAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1By
b3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKE1hdGgpIiwKKwordGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7CisgIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoTWF0aCkgPT09IE9iamVjdC5w
cm90b3R5cGUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldFByb3RvdHlw
ZU9mKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMi0yLTguanMKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjItMi05LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMi0yLTkuanMJKHJldmlzaW9uIDE5OTU0
OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMi0yLTkuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzggKzEsMzggQEAKLS8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0K
LS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjItMi05IiwNCi0NCi1wYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTkuanMi
LA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtb
UHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoRGF0ZSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgew0KLSAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihEYXRlKSA9PT0gRnVu
Y3Rpb24ucHJvdG90eXBlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVj
dC5nZXRQcm90b3R5cGVPZik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4z
LjItMi05IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4z
LjIvMTUuMi4zLjItMi05LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0UHJvdG90eXBl
T2YgcmV0dXJucyB0aGUgW1tQcm90b3R5cGVdXSBvZiBpdHMgcGFyYW1ldGVyIChEYXRlKSIsCisK
K3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9m
KERhdGUpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQor
IH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlz
dHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMi0y
LTkuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtMC0xLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy0w
LTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy0wLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzQg
KzEsMzQgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4z
LjMtMC0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4y
LjMuMy8xNS4yLjMuMy0wLTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvciBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24iLA0KLQ0KLXRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgaWYgKHR5cGVvZihPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKSA9PT0gImZ1bmN0aW9uIikgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0g
fQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAor
Ly8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQK
Ky8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgor
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy0wLTEiLAorCitwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0wLTEuanMiLAor
CitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgbXVzdCBleGlz
dCBhcyBhIGZ1bmN0aW9uIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGlmICh0
eXBlb2YoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcikgPT09ICJmdW5jdGlvbiIpIHsK
KyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTAtMS5q
cwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy0wLTIuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTAtMi5q
cwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4zLTAtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwz
OCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8v
IA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQot
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0v
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0K
LS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy0w
LTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4z
LzE1LjIuMy4zLTAtMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMiBwYXJhbWV0ZXJz
IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmIChPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yLmxlbmd0aCA9PT0gMikgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0g
IH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVy
biBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0K
Ky8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy0wLTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0wLTIuanMiLAorCitkZXNjcmlw
dGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgbXVzdCBleGlzdCBhcyBhIGZ1
bmN0aW9uIHRha2luZyAyIHBhcmFtZXRlcnMiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsKKyAgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IubGVuZ3RoID09PSAyKSB7
CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTAtMi5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMy0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMt
MS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MyArMSw0MyBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0xLmpzIiwNCi0NCi1kZXNj
cmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIFR5cGVFcnJv
ciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3QiLA0KLQ0KLXRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgew0KLSAgdHJ5IHsNCi0gICAgT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcigwLCAiZm9vIik7DQotICB9DQotICBjYXRjaCAoZSkgew0KLSAgICBpZiAoZSBpbnN0
YW5jZW9mIFR5cGVFcnJvcikgew0KLSAgICAgIHJldHVybiB0cnVlOw0KLSAgICB9DQotICB9DQot
IH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5F
eGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTEuanMiLAorCitkZXNjcmlwdGlvbjogIk9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9m
IGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3QiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsKKyAgdHJ5IHsKKyAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKDAsICJmb28i
KTsKKyAgfQorICBjYXRjaCAoZSkgeworICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7
CisgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTEuanMKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtMi0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy0yLTEuanMJKHJldmlzaW9u
IDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuMy0yLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDAgKzEsNDAgQEAKLS8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
DQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0N
Ci1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtMi0xIiwNCi0NCi1w
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0y
LTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
ciByZXR1cm5zIHVuZGVmaW5lZCBmb3IgdW5kZWZpbmVkIHByb3BlcnR5IG5hbWUiLA0KLQ0KLXRl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgICB2YXIgbyA9IHt9Ow0KLSAgICB2YXIgZGVz
YyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgdW5kZWZpbmVkKTsNCi0gICAg
aWYgKGRlc2MgPT09IHVuZGVmaW5lZCkgew0KLSAgICAgIHJldHVybiB0cnVlOw0KLSAgICB9DQot
IH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5F
eGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtMi0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xLmpzIiwKKworZGVzY3JpcHRpb246
ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgdW5kZWZpbmVkIGZvciB1
bmRlZmluZWQgcHJvcGVydHkgbmFtZSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewor
ICAgIHZhciBvID0ge307CisgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKG8sIHVuZGVmaW5lZCk7CisgICAgaWYgKGRlc2MgPT09IHVuZGVmaW5lZCkgeworICAg
ICAgcmV0dXJuIHRydWU7CisgICAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtMi0xLmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4zLTItMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtMi0yLmpzCShyZXZpc2lvbiAxOTk1NDkp
CisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4z
LjMtMi0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQwICsxLDQwIEBACi0vLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0v
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTItMiIsDQotDQotcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yLmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJu
cyB1bmRlZmluZWQgZm9yIG51bGwgcHJvcGVydHkgbmFtZSIsDQotDQotdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7DQotICAgIHZhciBvID0ge307DQotICAgIHZhciBkZXNjID0gT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihvLCBudWxsKTsNCi0gICAgaWYgKGRlc2MgPT09IHVuZGVm
aW5lZCkgew0KLSAgICAgIHJldHVybiB0cnVlOw0KLSAgICB9DQotIH0sDQotDQotcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MK
Ky8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUu
Mi4zLjMtMi0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUu
Mi4zLjMvMTUuMi4zLjMtMi0yLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yIHJldHVybnMgdW5kZWZpbmVkIGZvciBudWxsIHByb3BlcnR5IG5hbWUi
LAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgICB2YXIgbyA9IHt9OworICAgIHZh
ciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCBudWxsKTsKKyAgICBp
ZiAoZGVzYyA9PT0gdW5kZWZpbmVkKSB7CisgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgfSwK
KworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMy0yLTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMy00LTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsNDcgKzEsNDcgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
Lg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAi
MTUuMi4zLjMtNC0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIu
My8xNS4yLjMuMy8xNS4yLjMuMy00LTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGFuIG9iamVjdCByZXByZXNlbnRpbmcgYSBk
YXRhIGRlc2MgZm9yIHZhbGlkIGRhdGEgdmFsdWVkIHByb3BlcnRpZXMiLA0KLQ0KLXRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgICB2YXIgbyA9IHt9Ow0KLSAgICBvWyJmb28iXSA9IDEw
MTsNCi0NCi0gICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8s
ICJmb28iKTsNCi0gICAgaWYgKGRlc2MudmFsdWUgPT09IDEwMSAmJg0KLSAgICAgICAgZGVzYy5l
bnVtZXJhYmxlID09PSB0cnVlICYmDQotICAgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYm
DQotICAgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgICAgIWRlc2Mu
aGFzT3duUHJvcGVydHkoImdldCIpICYmDQotICAgICAgICAhZGVzYy5oYXNPd25Qcm9wZXJ0eSgi
c2V0IikpIHsNCi0gICAgICByZXR1cm4gdHJ1ZTsNCi0gICAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
CisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1
LjIuMy4zLTQtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1
LjIuMy4zLzE1LjIuMy4zLTQtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGFuIG9iamVjdCByZXByZXNlbnRpbmcgYSBkYXRhIGRl
c2MgZm9yIHZhbGlkIGRhdGEgdmFsdWVkIHByb3BlcnRpZXMiLAorCit0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsKKyAgICB2YXIgbyA9IHt9OworICAgIG9bImZvbyJdID0gMTAxOworCisgICAg
dmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsKKyAg
ICBpZiAoZGVzYy52YWx1ZSA9PT0gMTAxICYmCisgICAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0g
dHJ1ZSAmJgorICAgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICAgIGRlc2Mu
Y29uZmlndXJhYmxlID09PSB0cnVlICYmCisgICAgICAgICFkZXNjLmhhc093blByb3BlcnR5KCJn
ZXQiKSAmJgorICAgICAgICAhZGVzYy5oYXNPd25Qcm9wZXJ0eSgic2V0IikpIHsKKyAgICAgIHJl
dHVybiB0cnVlOworICAgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOwor
IH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMS5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMy00LTEwLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEwLmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMt
NC0xMC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MyArMSw0MyBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTEwIiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEwLmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJu
cyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEdsb2JhbC5kZWNvZGVVUklD
b21wb25lbnQpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBnbG9i
YWwgPSBmbkdsb2JhbE9iamVjdCgpOw0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKGdsb2JhbCwgICJkZWNvZGVVUklDb21wb25lbnQiKTsNCi0gIGlmIChkZXNj
LnZhbHVlID09PSBnbG9iYWwuZGVjb2RlVVJJQ29tcG9uZW50ICYmDQotICAgICAgZGVzYy53cml0
YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0g
ICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0g
IH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVy
biBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KKy8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisv
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTEwIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMC5qcyIsCisKK2Rlc2NyaXB0aW9u
OiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3Ig
ZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLmRlY29kZVVSSUNvbXBvbmVudCkiLAorCit0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2JqZWN0
KCk7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWws
ICAiZGVjb2RlVVJJQ29tcG9uZW50Iik7CisgIGlmIChkZXNjLnZhbHVlID09PSBnbG9iYWwuZGVj
b2RlVVJJQ29tcG9uZW50ICYmCisgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAg
ICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9
PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKTsKKyB9CiB9KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjMtNC0xMC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMj
IC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEw
MC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMDAuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEwMC5qcwko
d29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTEwMCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDAuanMiLA0KLQ0KLWRl
c2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEg
ZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoTWF0aC5hdGFuMikiLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKE1hdGgsICJhdGFuMiIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGgu
YXRhbjIgJiYNCi0gICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5l
bnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVl
KSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQt
MTAwIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMv
MTUuMi4zLjMtNC0xMDAuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMg
KE1hdGguYXRhbjIpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNj
ID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiYXRhbjIiKTsKKyAgaWYg
KGRlc2MudmFsdWUgPT09IE1hdGguYXRhbjIgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRy
dWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29u
ZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQt
MTAwLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTAxLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
My00LTEwMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTAxLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0v
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDog
IjE1LjIuMy4zLTQtMTAxIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1
LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEwMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlv
bnMgb24gYnVpbHQtaW5zIChNYXRoLmNlaWwpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRo
LCAiY2VpbCIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGguY2VpbCAmJg0KLSAgICAgIGRl
c2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNl
ICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRy
dWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQot
ICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0N
Ci19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8v
LyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisv
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0xMDEiLAorCitwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEwMS5qcyIs
CisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5z
IGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoTWF0aC5jZWlsKSIsCisKK3Rl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoTWF0aCwgImNlaWwiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGgu
Y2VpbCAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVt
ZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsK
KyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMDEuanMKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjMtNC0xMDIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTAyLmpzCShyZXZpc2lvbiAx
OTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjMtNC0xMDIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
DQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0N
Ci1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0xMDIiLA0KLQ0K
LXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4z
LTQtMTAyLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGgu
Y29zKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgImNvcyIpOw0KLSAgaWYgKGRlc2Mu
dmFsdWUgPT09IE1hdGguY29zICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0K
LSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3Vy
YWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6
ICIxNS4yLjMuMy00LTEwMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUu
Mi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTAyLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMg
b24gYnVpbHQtaW5zIChNYXRoLmNvcykiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsK
KyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJjb3Mi
KTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGguY29zICYmCisgICAgICBkZXNjLndyaXRhYmxl
ID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBk
ZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwK
KworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMy00LTEwMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEwMy5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjMtNC0xMDMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEwMy5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
DQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQot
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
DQotaWQ6ICIxNS4yLjMuMy00LTEwMyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDMuanMiLA0KLQ0KLWRlc2NyaXB0aW9u
OiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3Ig
ZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoTWF0aC5leHApIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihNYXRoLCAiZXhwIik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5leHAgJiYNCi0gICAg
ICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBm
YWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVy
biB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
ew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0K
LSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
CisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
CisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtMTAzIiwKKworcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDMu
anMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0
dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGguZXhwKSIsCisK
K3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgImV4cCIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0
aC5leHAgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51
bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7
CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTAzLmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4zLTQtMTA0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEwNC5qcwkocmV2aXNpb24g
MTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4zLTQtMTA0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
Rg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTA0IiwNCi0N
Ci1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMu
My00LTEwNC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRo
LmZsb29yKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgImZsb29yIik7DQotICBpZiAo
ZGVzYy52YWx1ZSA9PT0gTWF0aC5mbG9vciAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRy
dWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5j
b25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQot
DQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMo
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTUuMi4zLjMtNC0xMDQiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEwNC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAi
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVu
Y3Rpb25zIG9uIGJ1aWx0LWlucyAoTWF0aC5mbG9vcikiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1h
dGgsICJmbG9vciIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5mbG9vciAmJgorICAgICAg
ZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxz
ZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1
ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1
cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMDQuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHls
ZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMt
NC0xMDUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTA1LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMDUu
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQot
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0xMDUiLA0KLQ0KLXBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTA1LmpzIiwNCi0N
Ci1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBk
YXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGgubG9nKSIsDQotDQotdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoTWF0aCwgImxvZyIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGgu
bG9nICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51
bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkg
ew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTEw
NSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1
LjIuMy4zLTQtMTA1LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChN
YXRoLmxvZykiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJsb2ciKTsKKyAgaWYgKGRlc2Mu
dmFsdWUgPT09IE1hdGgubG9nICYmCisgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisg
ICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJs
ZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEwNS5qcwpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEwNi5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMDYu
anMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEwNi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiAr
MSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQot
Ly8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
DQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8N
Ci0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8v
IA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMu
My00LTEwNiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUu
Mi4zLjMvMTUuMi4zLjMtNC0xMDYuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1
aWx0LWlucyAoTWF0aC5tYXgpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0g
IHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAibWF4Iik7
DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5tYXggJiYNCi0gICAgICBkZXNjLndyaXRhYmxl
ID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAg
IGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0K
LSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZu
RXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
Ky8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtMTA2IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDYuanMiLAorCitkZXNjcmlw
dGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2Mg
Zm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGgubWF4KSIsCisKK3Rlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoTWF0aCwgIm1heCIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5tYXggJiYKKyAgICAg
IGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFs
c2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRy
dWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0
dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4zLTQtMTA2LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4z
LTQtMTA3LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEwNy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTA3
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTA3IiwNCi0NCi1wYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEwNy5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMg
ZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLm1pbikiLA0KLQ0KLXRl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKE1hdGgsICJtaW4iKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBNYXRo
Lm1pbiAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVu
dW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUp
IHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0x
MDciLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8x
NS4yLjMuMy00LTEwNy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAo
TWF0aC5taW4pIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0g
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAibWluIik7CisgIGlmIChkZXNj
LnZhbHVlID09PSBNYXRoLm1pbiAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgor
ICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFi
bGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMDcuanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMDguanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTA4
LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMDguanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIg
KzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4z
LjMtNC0xMDgiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1
LjIuMy4zLzE1LjIuMy4zLTQtMTA4LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBi
dWlsdC1pbnMgKE1hdGgucG93KSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQot
ICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgInBvdyIp
Ow0KLSAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGgucG93ICYmDQotICAgICAgZGVzYy53cml0YWJs
ZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAg
ICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0N
Ci0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBm
bkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTEwOCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTA4LmpzIiwKKworZGVzY3Jp
cHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNj
IGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLnBvdykiLAorCit0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKE1hdGgsICJwb3ciKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGgucG93ICYmCisgICAg
ICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZh
bHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0
cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJl
dHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEwOC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
My00LTEwOS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMDkuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEw
OS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTEwOSIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDkuanMiLA0K
LQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5z
IGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoTWF0aC5yYW5kb20pIiwNCi0N
Ci10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAicmFuZG9tIik7DQotICBpZiAoZGVzYy52YWx1ZSA9
PT0gTWF0aC5yYW5kb20gJiYNCi0gICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAg
ICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxl
ID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
CisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1
LjIuMy4zLTQtMTA5IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMv
MTUuMi4zLjMvMTUuMi4zLjMtNC0xMDkuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBi
dWlsdC1pbnMgKE1hdGgucmFuZG9tKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewor
ICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgInJhbmRv
bSIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5yYW5kb20gJiYKKyAgICAgIGRlc2Mud3Jp
dGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAg
ICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0K
KyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhp
c3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4zLTQtMTA5LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTEuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4zLTQtMTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTExLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDQzICsxLDQzIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
Ci0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsNCi1pZDogIjE1LjIuMy4zLTQtMTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9u
OiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3Ig
ZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLmVuY29kZVVSSUNvbXBvbmVudCkiLA0KLQ0K
LXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2Jq
ZWN0KCk7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xv
YmFsLCAgImVuY29kZVVSSUNvbXBvbmVudCIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IGdsb2Jh
bC5lbmNvZGVVUklDb21wb25lbnQgJiYNCi0gICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYm
DQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmln
dXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQorLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
CisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1
LjIuMy4zLTQtMTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8x
NS4yLjMuMy8xNS4yLjMuMy00LTExLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVp
bHQtaW5zIChHbG9iYWwuZW5jb2RlVVJJQ29tcG9uZW50KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeworICB2YXIgZ2xvYmFsID0gZm5HbG9iYWxPYmplY3QoKTsKKyAgdmFyIGRlc2Mg
PSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgICJlbmNvZGVVUklDb21w
b25lbnQiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IGdsb2JhbC5lbmNvZGVVUklDb21wb25lbnQg
JiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJs
ZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAg
cmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOwor
IH0KIH0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTExLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTEwLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
My00LTExMC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTEwLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0v
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDog
IjE1LjIuMy4zLTQtMTEwIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1
LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTExMC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlv
bnMgb24gYnVpbHQtaW5zIChNYXRoLnJvdW5kKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0
aCwgInJvdW5kIik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5yb3VuZCAmJg0KLSAgICAg
IGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZh
bHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJu
IHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQot
IH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAK
Ky8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
CisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYK
Ky8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0xMTAiLAorCitwYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTExMC5q
cyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1
cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoTWF0aC5yb3VuZCkiLAor
Cit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJyb3VuZCIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0g
TWF0aC5yb3VuZCAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVz
Yy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRy
dWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMTAuanMKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTExLmpzCShyZXZp
c2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjMtNC0xMTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAK
LS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0v
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAN
Ci0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0xMTEi
LA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1
LjIuMy4zLTQtMTExLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMg
KE1hdGguc2luKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVz
YyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgInNpbiIpOw0KLSAgaWYg
KGRlc2MudmFsdWUgPT09IE1hdGguc2luICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1
ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNv
bmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0N
Ci1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
eworaWQ6ICIxNS4yLjMuMy00LTExMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTExLmpzIiwKKworZGVzY3JpcHRpb246ICJP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5j
dGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLnNpbikiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgs
ICJzaW4iKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGguc2luICYmCisgICAgICBkZXNjLndy
aXRhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisg
ICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9
CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4
aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuMy00LTExMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w
LDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTExMi5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjMtNC0xMTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTExMi5qcwkod29y
a2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0K
LS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTExMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTIuanMiLA0KLQ0KLWRlc2Ny
aXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVz
YyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoTWF0aC5zcXJ0KSIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoTWF0aCwgInNxcnQiKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBNYXRoLnNxcnQg
JiYNCi0gICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJh
YmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQot
ICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisv
Ly8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtMTEyIiwK
KworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4z
LjMtNC0xMTIuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGgu
c3FydCkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJzcXJ0Iik7CisgIGlmIChkZXNjLnZh
bHVlID09PSBNYXRoLnNxcnQgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAg
ICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxl
ID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTEyLmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTEzLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTExMy5q
cwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTEzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsx
LDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0v
Ly8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQN
Ci0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0K
LS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8g
DQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4z
LTQtMTEzIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4y
LjMuMy8xNS4yLjMuMy00LTExMy5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVp
bHQtaW5zIChNYXRoLnRhbikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAg
dmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJ0YW4iKTsN
Ci0gIGlmIChkZXNjLnZhbHVlID09PSBNYXRoLnRhbiAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUg
PT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAg
ZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQot
IH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5F
eGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0xMTMiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTExMy5qcyIsCisKK2Rlc2NyaXB0
aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBm
b3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoTWF0aC50YW4pIiwKKwordGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihNYXRoLCAidGFuIik7CisgIGlmIChkZXNjLnZhbHVlID09PSBNYXRoLnRhbiAmJgorICAgICAg
ZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxz
ZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1
ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1
cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHls
ZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMt
NC0xMTQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTE0LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMTQu
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQot
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0xMTQiLA0KLQ0KLXBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTE0LmpzIiwNCi0N
Ci1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBk
YXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucGFyc2UpIiwNCi0NCi10
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihEYXRlLCAicGFyc2UiKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBE
YXRlLnBhcnNlICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRl
c2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0g
dHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IK
Ky8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMu
My00LTExNCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIu
My4zLzE1LjIuMy4zLTQtMTE0LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQt
aW5zIChEYXRlLnBhcnNlKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIg
ZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZSwgInBhcnNlIik7Cisg
IGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnBhcnNlICYmCisgICAgICBkZXNjLndyaXRhYmxlID09
PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNj
LmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKwor
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
My00LTExNC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMK
K0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTExNS5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjMtNC0xMTUuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTExNS5qcwkod29ya2luZyBjb3B5
KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
DQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQot
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQot
aWQ6ICIxNS4yLjMuMy00LTExNSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
Mi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTUuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAi
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVu
Y3Rpb25zIG9uIGJ1aWx0LWlucyAoRGF0ZS5VVEMpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihE
YXRlLCAiVVRDIik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5VVEMgJiYNCi0gICAgICBk
ZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxz
ZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0
cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0K
LSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtMTE1IiwKKworcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTUuanMi
LAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJu
cyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUuVVRDKSIsCisKK3Rl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoRGF0ZSwgIlVUQyIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5V
VEMgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVy
YWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7Cisg
ICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ip
OworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTE1LmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4zLTQtMTE2LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTExNi5qcwkocmV2aXNpb24gMTk5
NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4zLTQtMTE2LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQot
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTE2IiwNCi0NCi1w
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00
LTExNi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnBy
b3RvdHlwZS5jb25zdHJ1Y3RvcikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90
eXBlLCAiY29uc3RydWN0b3IiKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlw
ZS5jb25zdHJ1Y3RvciAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAg
ICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUg
PT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MK
Ky8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUu
Mi4zLjMtNC0xMTYiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8x
NS4yLjMuMy8xNS4yLjMuMy00LTExNi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1
aWx0LWlucyAoRGF0ZS5wcm90b3R5cGUuY29uc3RydWN0b3IpIiwKKwordGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihEYXRlLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIik7CisgIGlmIChkZXNjLnZhbHVlID09PSBE
YXRlLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1
ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25m
aWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0x
MTYuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMTcuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4z
LTQtMTE3LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMTcuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
Lg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAi
MTUuMi4zLjMtNC0xMTciLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUu
Mi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTE3LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9u
cyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldFRpbWUpIiwNCi0NCi10ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFRpbWUiKTsNCi0gIGlmIChkZXNjLnZhbHVlID09
PSBEYXRlLnByb3RvdHlwZS5nZXRUaW1lICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1
ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNv
bmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0N
Ci1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
eworaWQ6ICIxNS4yLjMuMy00LTExNyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTE3LmpzIiwKKworZGVzY3JpcHRpb246ICJP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5j
dGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRUaW1lKSIsCisKK3Rlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRUaW1lIik7CisgIGlmIChkZXNjLnZhbHVlID09
PSBEYXRlLnByb3RvdHlwZS5nZXRUaW1lICYmCisgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVl
ICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZp
Z3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEx
Ny5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTExOC5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMt
NC0xMTguanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTExOC5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIx
NS4yLjMuMy00LTExOCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4y
LjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTguanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25z
IG9uIGJ1aWx0LWlucyAoRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQpIiwNCi0NCi10
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFRpbWV6b25lT2Zmc2V0Iik7DQot
ICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQgJiYN
Ci0gICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxl
ID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAg
IHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
CisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8g
CisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtMTE4IiwKKwor
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMt
NC0xMTguanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJv
dG90eXBlLmdldFRpbWV6b25lT2Zmc2V0KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
eworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90
b3R5cGUsICJnZXRUaW1lem9uZU9mZnNldCIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5w
cm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRy
dWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29u
ZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQt
MTE4LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTE5LmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
My00LTExOS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTE5LmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0v
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDog
IjE1LjIuMy4zLTQtMTE5IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1
LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTExOS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlv
bnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRZZWFyKSIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRZZWFyIik7DQotICBpZiAoZGVzYy52YWx1ZSA9
PT0gRGF0ZS5wcm90b3R5cGUuZ2V0WWVhciAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRy
dWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5j
b25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQot
DQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMo
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTUuMi4zLjMtNC0xMTkiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTExOS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAi
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVu
Y3Rpb25zIG9uIGJ1aWx0LWlucyAoRGF0ZS5wcm90b3R5cGUuZ2V0WWVhcikiLAorCit0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0WWVhciIpOworICBpZiAoZGVzYy52YWx1ZSA9
PT0gRGF0ZS5wcm90b3R5cGUuZ2V0WWVhciAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1
ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25m
aWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0x
MTkuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMi5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMt
NC0xMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
NDMgKzEsNDMgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUu
Mi4zLjMtNC0xMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMv
MTUuMi4zLjMvMTUuMi4zLjMtNC0xMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24g
YnVpbHQtaW5zIChHbG9iYWwuZXNjYXBlKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotICB2YXIgZ2xvYmFsID0gZm5HbG9iYWxPYmplY3QoKTsNCi0gIHZhciBkZXNjID0gT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICJlc2NhcGUiKTsNCi0gIGlmIChk
ZXNjLnZhbHVlID09PSBnbG9iYWwuZXNjYXBlICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0g
dHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNj
LmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwN
Ci0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0
cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxNS4yLjMuMy00LTEyIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8x
NS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25z
IG9uIGJ1aWx0LWlucyAoR2xvYmFsLmVzY2FwZSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKyAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2JqZWN0KCk7CisgIHZhciBkZXNjID0gT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICJlc2NhcGUiKTsKKyAgaWYgKGRl
c2MudmFsdWUgPT09IGdsb2JhbC5lc2NhcGUgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRy
dWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29u
ZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KIH0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEyLmpzCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
b2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4zLTQtMTIwLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEyMC5qcwkocmV2aXNpb24gMTk5NTQ5KQor
KysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4z
LTQtMTIwLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0v
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTIwIiwNCi0NCi1wYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEyMC5q
cyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJl
dHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlw
ZS5nZXRGdWxsWWVhcikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFy
IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAi
Z2V0RnVsbFllYXIiKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXRG
dWxsWWVhciAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNj
LmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRy
dWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisv
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMt
NC0xMjAiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMu
My8xNS4yLjMuMy00LTEyMC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlu
cyAoRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRl
LnByb3RvdHlwZSwgImdldEZ1bGxZZWFyIik7CisgIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnBy
b3RvdHlwZS5nZXRGdWxsWWVhciAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgor
ICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFi
bGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMjAuanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMjEuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTIx
LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMjEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIg
KzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4z
LjMtNC0xMjEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1
LjIuMy4zLzE1LjIuMy4zLTQtMTIxLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBi
dWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldE1vbnRoKSIsDQotDQotdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRNb250aCIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IERh
dGUucHJvdG90eXBlLmdldE1vbnRoICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAm
Jg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZp
Z3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1w
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxNS4yLjMuMy00LTEyMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIv
MTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTIxLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlv
bnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRNb250aCkiLAorCit0ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0TW9udGgiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09
IERhdGUucHJvdG90eXBlLmdldE1vbnRoICYmCisgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVl
ICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZp
Z3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEy
MS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEyMi5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMt
NC0xMjIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEyMi5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIx
NS4yLjMuMy00LTEyMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4y
LjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25z
IG9uIGJ1aWx0LWlucyAoRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0RGF0ZSIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09
IERhdGUucHJvdG90eXBlLmdldERhdGUgJiYNCi0gICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVl
ICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29u
ZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0K
LXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
CitpZDogIjE1LjIuMy4zLTQtMTIyIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
Mi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjIuanMiLAorCitkZXNjcmlwdGlvbjogIk9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0
aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldERhdGUpIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldERhdGUiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09
IERhdGUucHJvdG90eXBlLmdldERhdGUgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUg
JiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmln
dXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTIy
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTIzLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTEyMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTIzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4N
Ci0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1
LjIuMy4zLTQtMTIzIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIu
My8xNS4yLjMuMy8xNS4yLjMuMy00LTEyMy5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMg
b24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXREYXkpIiwNCi0NCi10ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihEYXRlLnByb3RvdHlwZSwgImdldERheSIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IERh
dGUucHJvdG90eXBlLmdldERheSAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYN
Ci0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1
cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTUuMi4zLjMtNC0xMjMiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1
LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEyMy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25z
IG9uIGJ1aWx0LWlucyAoRGF0ZS5wcm90b3R5cGUuZ2V0RGF5KSIsCisKK3Rlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoRGF0ZS5wcm90b3R5cGUsICJnZXREYXkiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUu
cHJvdG90eXBlLmdldERheSAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAg
ICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUg
PT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMjMuanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMjQuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTI0Lmpz
CShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMjQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEs
NDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8v
LyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0K
LS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQot
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyAN
Ci0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMt
NC0xMjQiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIu
My4zLzE1LjIuMy4zLTQtMTI0LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWls
dC1pbnMgKERhdGUucHJvdG90eXBlLmdldEhvdXJzKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
RGF0ZS5wcm90b3R5cGUsICJnZXRIb3VycyIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUu
cHJvdG90eXBlLmdldEhvdXJzICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0K
LSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3Vy
YWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6
ICIxNS4yLjMuMy00LTEyNCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUu
Mi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTI0LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMg
b24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRIb3VycykiLAorCit0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKERhdGUucHJvdG90eXBlLCAiZ2V0SG91cnMiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IERh
dGUucHJvdG90eXBlLmdldEhvdXJzICYmCisgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYm
CisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3Vy
YWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEyNC5q
cwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEyNS5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0x
MjUuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEyNS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0
MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
DQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQot
Ly8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4y
LjMuMy00LTEyNSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMv
MTUuMi4zLjMvMTUuMi4zLjMtNC0xMjUuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9u
IGJ1aWx0LWlucyAoRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcykiLA0KLQ0KLXRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0TWludXRlcyIpOw0KLSAgaWYgKGRlc2MudmFsdWUg
PT09IERhdGUucHJvdG90eXBlLmdldE1pbnV0ZXMgJiYNCi0gICAgICBkZXNjLndyaXRhYmxlID09
PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRl
c2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9
LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhp
c3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtMTI1IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjUuanMiLAorCitkZXNjcmlwdGlv
bjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9y
IGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldE1pbnV0ZXMpIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldE1pbnV0ZXMiKTsKKyAgaWYgKGRl
c2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldE1pbnV0ZXMgJiYKKyAgICAgIGRlc2Mud3Jp
dGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAg
ICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0K
KyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhp
c3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4zLTQtMTI1LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTI2Lmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMy00LTEyNi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTI2LmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQot
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTI2IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEyNi5qcyIsDQotDQotZGVzY3Jp
cHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNj
IGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzKSIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRTZWNvbmRzIik7DQot
ICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcyAmJg0KLSAgICAg
IGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZh
bHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJu
IHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQot
IH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAK
Ky8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
CisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYK
Ky8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0xMjYiLAorCitwYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEyNi5q
cyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1
cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoRGF0ZS5wcm90b3R5cGUu
Z2V0U2Vjb25kcykiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2Mg
PSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0U2Vj
b25kcyIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcyAm
JgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxl
ID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICBy
ZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
eworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7Cisg
fQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMjYuanMKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjMtNC0xMjcuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTI3LmpzCShyZXZpc2lvbiAxOTk1NDkp
CisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4z
LjMtNC0xMjcuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0K
LS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0xMjciLA0KLQ0KLXBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTI3
LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ig
cmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90
eXBlLmdldE1pbGxpc2Vjb25kcykiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90
eXBlLCAiZ2V0TWlsbGlzZWNvbmRzIik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90
b3R5cGUuZ2V0TWlsbGlzZWNvbmRzICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAm
Jg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZp
Z3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1w
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxNS4yLjMuMy00LTEyNyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIv
MTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTI3LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlv
bnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMpIiwKKwordGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldE1pbGxpc2Vjb25kcyIpOworICBpZiAo
ZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzICYmCisgICAgICBk
ZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNl
ICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVl
OworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVy
biBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMy00LTEyNy5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTEyOC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMjguanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEyOC5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTEyOCIsDQotDQotcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjguanMiLA0KLQ0K
LWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRh
dGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRD
RnVsbFllYXIpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNj
ID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFVU
Q0Z1bGxZZWFyIik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0VVRD
RnVsbFllYXIgJiYNCi0gICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVz
Yy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0
cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4z
LTQtMTI4IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4z
LjMvMTUuMi4zLjMtNC0xMjguanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1p
bnMgKERhdGUucHJvdG90eXBlLmdldFVUQ0Z1bGxZZWFyKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
RGF0ZS5wcm90b3R5cGUsICJnZXRVVENGdWxsWWVhciIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0g
RGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09
IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2Mu
Y29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitw
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4z
LTQtMTI4LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIwor
TEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTI5LmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMy00LTEyOS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTI5LmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IN
Ci0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0v
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1p
ZDogIjE1LjIuMy4zLTQtMTI5IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4y
LzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEyOS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5j
dGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENNb250aCkiLA0KLQ0KLXRl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0VVRDTW9udGgiKTsNCi0gIGlmIChk
ZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXRVVENNb250aCAmJg0KLSAgICAgIGRlc2Mu
d3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYm
DQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7
DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICBy
ZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19
KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAK
Ky8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0xMjkiLAorCitwYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEyOS5qcyIsCisK
K2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRh
dGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRD
TW9udGgpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFVUQ01vbnRo
Iik7CisgIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXRVVENNb250aCAmJgor
ICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09
PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1
cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewor
ICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQor
fSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMjkuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjMtNC0xMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQt
MTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDMgKzEsNDMgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0xMyIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMy5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMg
ZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChHbG9iYWwudW5lc2NhcGUpIiwN
Ci0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBnbG9iYWwgPSBmbkdsb2Jh
bE9iamVjdCgpOw0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KGdsb2JhbCwgICJ1bmVzY2FwZSIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IGdsb2JhbC51bmVz
Y2FwZSAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVu
dW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUp
IHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcik7DQotIH0NCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8v
LyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0xMyIsCisK
K3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4z
LTQtMTMuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEdsb2JhbC51
bmVzY2FwZSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGdsb2JhbCA9
IGZuR2xvYmFsT2JqZWN0KCk7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihnbG9iYWwsICAidW5lc2NhcGUiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IGdsb2Jh
bC51bmVzY2FwZSAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVz
Yy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRy
dWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcik7CisgfQogfSk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4zLTQtMTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMzAuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4zLTQtMTMwLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMzAuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggew0KLWlkOiAiMTUuMi4zLjMtNC0xMzAiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTMwLmpzIiwNCi0NCi1kZXNjcmlw
dGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2Mg
Zm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldFVUQ0RhdGUpIiwN
Ci0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFVUQ0RhdGUiKTsNCi0g
IGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlICYmDQotICAgICAg
ZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFs
c2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4g
dHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsN
Ci0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0g
fQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAor
Ly8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQK
Ky8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgor
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTEzMCIsCisKK3BhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTMwLmpz
IiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVy
bnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5n
ZXRVVENEYXRlKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRVVENE
YXRlIik7CisgIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlICYm
CisgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUg
PT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJl
dHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9
Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEzMC5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMy00LTEzMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMzEuanMJKHJldmlzaW9uIDE5OTU0OSkK
KysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
My00LTEzMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQot
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTEzMSIsDQotDQotcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzEu
anMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciBy
ZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoRGF0ZS5wcm90b3R5
cGUuZ2V0VVRDRGF5KSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIg
ZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJn
ZXRVVENEYXkiKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXRVVENE
YXkgJiYNCi0gICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVt
ZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7
DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtMTMx
IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUu
Mi4zLjMtNC0xMzEuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERh
dGUucHJvdG90eXBlLmdldFVUQ0RheSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsK
KyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90
eXBlLCAiZ2V0VVRDRGF5Iik7CisgIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5n
ZXRVVENEYXkgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2Mu
ZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVl
KSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTMxLmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4zLTQtMTMyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEzMi5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4zLTQtMTMyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTMyIiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4y
LjMuMy00LTEzMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChE
YXRlLnByb3RvdHlwZS5nZXRVVENIb3VycykiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUu
cHJvdG90eXBlLCAiZ2V0VVRDSG91cnMiKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnBy
b3RvdHlwZS5nZXRVVENIb3VycyAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYN
Ci0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1
cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTUuMi4zLjMtNC0xMzIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1
LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEzMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25z
IG9uIGJ1aWx0LWlucyAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMpIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFVUQ0hvdXJzIik7CisgIGlmIChkZXNjLnZhbHVl
ID09PSBEYXRlLnByb3RvdHlwZS5nZXRVVENIb3VycyAmJgorICAgICAgZGVzYy53cml0YWJsZSA9
PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVz
Yy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisK
K3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4z
LjMtNC0xMzIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMzMuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4zLTQtMTMzLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMzMuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LWlkOiAiMTUuMi4zLjMtNC0xMzMiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTMzLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjog
Ik9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1
bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldFVUQ01pbnV0ZXMpIiwNCi0N
Ci10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFVUQ01pbnV0ZXMiKTsNCi0g
IGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzICYmDQotICAg
ICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0g
ZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1
cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsN
Ci0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTEzMyIsCisKK3BhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTMz
LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJl
dHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlw
ZS5nZXRVVENNaW51dGVzKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIg
ZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJn
ZXRVVENNaW51dGVzIik7CisgIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXRV
VENNaW51dGVzICYmCisgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNj
LmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1
ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEzMy5qcwpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEzNC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMzQuanMJKHJldmlz
aW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMy00LTEzNC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAot
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0K
LQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTEzNCIs
DQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUu
Mi4zLjMtNC0xMzQuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAo
RGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcykiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERh
dGUucHJvdG90eXBlLCAiZ2V0VVRDU2Vjb25kcyIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IERh
dGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMgJiYNCi0gICAgICBkZXNjLndyaXRhYmxlID09PSB0
cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2Mu
Y29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0K
LQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3Rz
KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7CitpZDogIjE1LjIuMy4zLTQtMTM0IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzQuanMiLAorCitkZXNjcmlwdGlvbjog
Ik9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1
bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMpIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFVUQ1NlY29uZHMiKTsKKyAgaWYg
KGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMgJiYKKyAgICAgIGRl
c2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2Ug
JiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7
CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJu
IGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4zLTQtMTM0LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQt
MTM1LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEzNS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTM1Lmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTM1IiwNCi0NCi1wYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEzNS5qcyIsDQotDQot
ZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0
YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENN
aWxsaXNlY29uZHMpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBk
ZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdl
dFVUQ01pbGxpc2Vjb25kcyIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBl
LmdldFVUQ01pbGxpc2Vjb25kcyAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYN
Ci0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1
cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTUuMi4zLjMtNC0xMzUiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1
LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEzNS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25z
IG9uIGJ1aWx0LWlucyAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzKSIsCisKK3Rl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRVVENNaWxsaXNlY29uZHMiKTsKKyAg
aWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcyAmJgor
ICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09
PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1
cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewor
ICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQor
fSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMzUuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjMtNC0xMzYuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTM2LmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMt
NC0xMzYuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
DQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0xMzYiLA0KLQ0KLXBhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTM2Lmpz
IiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0
dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBl
LnNldFRpbWUpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNj
ID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldFRp
bWUiKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lICYmDQot
ICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9
PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICBy
ZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bwor
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAor
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKwor
CitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTEzNiIsCisKK3Bh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQt
MTM2LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
IHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3Rv
dHlwZS5zZXRUaW1lKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVz
YyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRU
aW1lIik7CisgIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lICYmCisg
ICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09
IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVy
biB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7Cisg
IHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEzNi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMy00LTEzNy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMzcuanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTEzNy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTEzNyIsDQotDQotcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzcuanMi
LA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1
cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoRGF0ZS5wcm90b3R5cGUu
c2V0WWVhcikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2Mg
PSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAic2V0WWVh
ciIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFllYXIgJiYNCi0g
ICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09
PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJl
dHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ip
Ow0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisv
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisv
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtMTM3IiwKKworcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0x
MzcuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ig
cmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90
eXBlLnNldFllYXIpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNj
ID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldFll
YXIiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFllYXIgJiYKKyAg
ICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0g
ZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJu
IHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAg
cmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30p
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTM3LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4zLTQtMTM4LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEzOC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQt
MTM4LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0K
LS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
Uw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTM4IiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEzOC5qcyIs
DQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVy
bnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5z
ZXRGdWxsWWVhcikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRl
c2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAic2V0
RnVsbFllYXIiKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5zZXRGdWxs
WWVhciAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVu
dW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUp
IHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0x
MzgiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8x
NS4yLjMuMy00LTEzOC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAo
RGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnBy
b3RvdHlwZSwgInNldEZ1bGxZZWFyIik7CisgIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3Rv
dHlwZS5zZXRGdWxsWWVhciAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAg
ICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUg
PT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMzguanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMzkuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTM5Lmpz
CShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xMzkuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEs
NDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8v
LyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0K
LS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQot
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyAN
Ci0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMt
NC0xMzkiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIu
My4zLzE1LjIuMy4zLTQtMTM5LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWls
dC1pbnMgKERhdGUucHJvdG90eXBlLnNldE1vbnRoKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
RGF0ZS5wcm90b3R5cGUsICJzZXRNb250aCIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUu
cHJvdG90eXBlLnNldE1vbnRoICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0K
LSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3Vy
YWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6
ICIxNS4yLjMuMy00LTEzOSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUu
Mi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTM5LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMg
b24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRNb250aCkiLAorCit0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKERhdGUucHJvdG90eXBlLCAic2V0TW9udGgiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IERh
dGUucHJvdG90eXBlLnNldE1vbnRoICYmCisgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYm
CisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3Vy
YWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTEzOS5q
cwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE0LmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE0
LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiAr
MSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQot
Ly8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
DQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8N
Ci0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8v
IA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMu
My00LTE0IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4y
LjMuMy8xNS4yLjMuMy00LTE0LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWls
dC1pbnMgKE9iamVjdC5nZXRQcm90b3R5cGVPZikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9i
amVjdCwgImdldFByb3RvdHlwZU9mIik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0Lmdl
dFByb3RvdHlwZU9mICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAg
IGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9
PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwor
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4y
LjMuMy00LTE0IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUu
Mi4zLjMvMTUuMi4zLjMtNC0xNC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0
LWlucyAoT2JqZWN0LmdldFByb3RvdHlwZU9mKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0
LCAiZ2V0UHJvdG90eXBlT2YiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5nZXRQcm90
b3R5cGVPZiAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5l
bnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUp
IHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNC5qcwpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMy00LTE0MC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNDAuanMJKHJldmlzaW9u
IDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuMy00LTE0MC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0K
LQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTE0MCIsDQot
DQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4z
LjMtNC0xNDAuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoRGF0
ZS5wcm90b3R5cGUuc2V0RGF0ZSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90
eXBlLCAic2V0RGF0ZSIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNl
dERhdGUgJiYNCi0gICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5l
bnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVl
KSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQt
MTQwIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMv
MTUuMi4zLjMtNC0xNDAuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMg
KERhdGUucHJvdG90eXBlLnNldERhdGUpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3Rv
dHlwZSwgInNldERhdGUiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNl
dERhdGUgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51
bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7
CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTQwLmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4zLTQtMTQxLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE0MS5qcwkocmV2aXNpb24g
MTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4zLTQtMTQxLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
Rg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTQxIiwNCi0N
Ci1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMu
My00LTE0MS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRl
LnByb3RvdHlwZS5zZXRIb3VycykiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90
eXBlLCAic2V0SG91cnMiKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5z
ZXRIb3VycyAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNj
LmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRy
dWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisv
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMt
NC0xNDEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMu
My8xNS4yLjMuMy00LTE0MS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlu
cyAoRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnBy
b3RvdHlwZSwgInNldEhvdXJzIik7CisgIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlw
ZS5zZXRIb3VycyAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVz
Yy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRy
dWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNDEuanMKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNDIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTQyLmpzCShyZXZp
c2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjMtNC0xNDIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAK
LS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0v
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAN
Ci0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0xNDIi
LA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1
LjIuMy4zLTQtMTQyLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMg
KERhdGUucHJvdG90eXBlLnNldE1pbnV0ZXMpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRl
LnByb3RvdHlwZSwgInNldE1pbnV0ZXMiKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnBy
b3RvdHlwZS5zZXRNaW51dGVzICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0K
LSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3Vy
YWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6
ICIxNS4yLjMuMy00LTE0MiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUu
Mi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTQyLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMg
b24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzKSIsCisKK3Rlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRNaW51dGVzIik7CisgIGlmIChkZXNjLnZhbHVlID09
PSBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzICYmCisgICAgICBkZXNjLndyaXRhYmxlID09PSB0
cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNv
bmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTE0Mi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xG
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE0My5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4z
LjMtNC0xNDMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE0My5qcwkod29ya2luZyBjb3B5KQpA
QCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQot
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6
ICIxNS4yLjMuMy00LTE0MyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8x
NS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rp
b25zIG9uIGJ1aWx0LWlucyAoRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcykiLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAic2V0U2Vjb25kcyIpOw0KLSAgaWYgKGRlc2Mu
dmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFNlY29uZHMgJiYNCi0gICAgICBkZXNjLndyaXRh
YmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAg
ICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAg
fQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJu
IGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQor
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtMTQzIiwKKworcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDMuanMiLAorCitkZXNj
cmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRl
c2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnNldFNlY29uZHMp
IiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldFNlY29uZHMiKTsKKyAg
aWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFNlY29uZHMgJiYKKyAgICAgIGRl
c2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2Ug
JiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7
CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJu
IGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4zLTQtMTQzLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQt
MTQ0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE0NC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTQ0Lmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTQ0IiwNCi0NCi1wYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE0NC5qcyIsDQotDQot
ZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0
YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRNaWxs
aXNlY29uZHMpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNj
ID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldE1p
bGxpc2Vjb25kcyIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldE1p
bGxpc2Vjb25kcyAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBk
ZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09
IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4z
LjMtNC0xNDQiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4y
LjMuMy8xNS4yLjMuMy00LTE0NC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0
LWlucyAoRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzKSIsCisKK3Rlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRNaWxsaXNlY29uZHMiKTsKKyAgaWYgKGRlc2MudmFsdWUg
PT09IERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcyAmJgorICAgICAgZGVzYy53cml0YWJs
ZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAg
ZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0s
CisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMo
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjMtNC0xNDQuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsx
ICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNDUuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4zLTQtMTQ1LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNDUuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
Uw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0K
LS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
ew0KLWlkOiAiMTUuMi4zLjMtNC0xNDUiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTQ1LmpzIiwNCi0NCi1kZXNjcmlwdGlv
bjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9y
IGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnNldFVUQ0Z1bGxZZWFyKSIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRVVENGdWxsWWVhciIp
Ow0KLSAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFVUQ0Z1bGxZZWFyICYm
DQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJs
ZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAg
ICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8v
IAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTE0NSIsCisK
K3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4z
LTQtMTQ1LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnBy
b3RvdHlwZS5zZXRVVENGdWxsWWVhcikiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsK
KyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90
eXBlLCAic2V0VVRDRnVsbFllYXIiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90
eXBlLnNldFVUQ0Z1bGxZZWFyICYmCisgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisg
ICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJs
ZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE0NS5qcwpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE0Ni5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNDYu
anMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE0Ni5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiAr
MSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQot
Ly8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
DQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8N
Ci0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8v
IA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMu
My00LTE0NiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUu
Mi4zLjMvMTUuMi4zLjMtNC0xNDYuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1
aWx0LWlucyAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGgpIiwNCi0NCi10ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihEYXRlLnByb3RvdHlwZSwgInNldFVUQ01vbnRoIik7DQotICBpZiAoZGVzYy52YWx1ZSA9
PT0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggJiYNCi0gICAgICBkZXNjLndyaXRhYmxlID09
PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRl
c2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9
LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhp
c3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtMTQ2IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDYuanMiLAorCitkZXNjcmlwdGlv
bjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9y
IGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnNldFVUQ01vbnRoKSIsCisK
K3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRVVENNb250aCIpOworICBpZiAo
ZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggJiYKKyAgICAgIGRlc2Mu
d3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYK
KyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7Cisg
IH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZu
RXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4zLTQtMTQ2LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMg
LTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTQ3
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMy00LTE0Ny5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTQ3LmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
DQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTQ3IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE0Ny5qcyIsDQotDQotZGVz
Y3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBk
ZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRl
KSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRVVENEYXRlIik7
DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZSAmJg0KLSAg
ICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09
IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0
dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7
DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKwor
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0xNDciLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE0
Ny5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciBy
ZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoRGF0ZS5wcm90b3R5
cGUuc2V0VVRDRGF0ZSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRl
c2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAic2V0
VVRDRGF0ZSIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0
ZSAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJh
YmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAg
ICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7
CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNDcuanMKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjMtNC0xNDguanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTQ4LmpzCShyZXZpc2lvbiAxOTk1
NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjMtNC0xNDguanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQot
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1F
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0xNDgiLA0KLQ0KLXBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQt
MTQ4LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJv
dG90eXBlLnNldFVUQ0hvdXJzKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQot
ICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5
cGUsICJzZXRVVENIb3VycyIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBl
LnNldFVUQ0hvdXJzICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAg
IGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9
PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwor
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4y
LjMuMy00LTE0OCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1
LjIuMy4zLzE1LjIuMy4zLTQtMTQ4LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVp
bHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRVVENIb3VycykiLAorCit0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KERhdGUucHJvdG90eXBlLCAic2V0VVRDSG91cnMiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IERh
dGUucHJvdG90eXBlLnNldFVUQ0hvdXJzICYmCisgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVl
ICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZp
Z3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE0
OC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE0OS5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMt
NC0xNDkuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE0OS5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIx
NS4yLjMuMy00LTE0OSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4y
LjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDkuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25z
IG9uIGJ1aWx0LWlucyAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcykiLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAic2V0VVRDTWludXRlcyIpOw0KLSAgaWYgKGRl
c2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0ZXMgJiYNCi0gICAgICBkZXNj
LndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAm
Jg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVl
Ow0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAg
cmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQot
fSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8g
CisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwK
Ky8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtMTQ5IiwKKworcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDkuanMiLAor
CitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBk
YXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnNldFVU
Q01pbnV0ZXMpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0g
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldFVUQ01p
bnV0ZXMiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0
ZXMgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVy
YWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7Cisg
ICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ip
OworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTQ5LmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4zLTQtMTUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTUuanMJKHJldmlzaW9uIDE5OTU0
OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMy00LTE1LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTUiLA0KLQ0KLXBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTUu
anMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciBy
ZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImdl
dE93blByb3BlcnR5RGVzY3JpcHRvciIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgJiYNCi0gICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVl
ICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29u
ZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0K
LXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
CitpZDogIjE1LjIuMy4zLTQtMTUiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4y
LzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE1LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlv
bnMgb24gYnVpbHQtaW5zIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKSIsCisKK3Rl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIik7CisgIGlm
IChkZXNjLnZhbHVlID09PSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yICYmCisgICAg
ICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZh
bHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0
cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJl
dHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE1LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4z
LTQtMTUwLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE1MC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTUw
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTUwIiwNCi0NCi1wYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE1MC5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMg
ZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRV
VENTZWNvbmRzKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVz
YyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRV
VENTZWNvbmRzIik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0VVRD
U2Vjb25kcyAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNj
LmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRy
dWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisv
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMt
NC0xNTAiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMu
My8xNS4yLjMuMy00LTE1MC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlu
cyAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcykiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERh
dGUucHJvdG90eXBlLCAic2V0VVRDU2Vjb25kcyIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0
ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcyAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1
ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25m
aWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0x
NTAuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNTEuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4z
LTQtMTUxLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNTEuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
Lg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAi
MTUuMi4zLjMtNC0xNTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUu
Mi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTUxLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9u
cyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcykiLA0KLQ0K
LXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAic2V0VVRDTWlsbGlzZWNvbmRzIik7
DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRz
ICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVy
YWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0K
LSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
Ly8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTE1MSIs
CisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIu
My4zLTQtMTUxLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRl
LnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRl
LnByb3RvdHlwZSwgInNldFVUQ01pbGxpc2Vjb25kcyIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0g
RGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzICYmCisgICAgICBkZXNjLndyaXRhYmxl
ID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBk
ZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwK
KworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMy00LTE1MS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE1Mi5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjMtNC0xNTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE1Mi5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
DQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQot
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
DQotaWQ6ICIxNS4yLjMuMy00LTE1MiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9u
OiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3Ig
ZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcpIiwN
Ci0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInRvTG9jYWxlU3RyaW5nIik7
DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgJiYN
Ci0gICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxl
ID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAg
IHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
CisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8g
CisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtMTUyIiwKKwor
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMt
NC0xNTIuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJv
dG90eXBlLnRvTG9jYWxlU3RyaW5nKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewor
ICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5
cGUsICJ0b0xvY2FsZVN0cmluZyIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5
cGUudG9Mb2NhbGVTdHJpbmcgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAg
ICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxl
ID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTUyLmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTUzLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE1My5q
cwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTUzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsx
LDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0v
Ly8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQN
Ci0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0K
LS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8g
DQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4z
LTQtMTUzIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4y
LjMuMy8xNS4yLjMuMy00LTE1My5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVp
bHQtaW5zIChEYXRlLnByb3RvdHlwZS50b1N0cmluZykiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KERhdGUucHJvdG90eXBlLCAidG9TdHJpbmciKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBEYXRl
LnByb3RvdHlwZS50b1N0cmluZyAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYN
Ci0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1
cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTUuMi4zLjMtNC0xNTMiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1
LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE1My5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25z
IG9uIGJ1aWx0LWlucyAoRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcpIiwKKwordGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihEYXRlLnByb3RvdHlwZSwgInRvU3RyaW5nIik7CisgIGlmIChkZXNjLnZhbHVlID09PSBE
YXRlLnByb3RvdHlwZS50b1N0cmluZyAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAm
JgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1
cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNTMu
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNTQuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQt
MTU0LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
NDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUu
Mi4zLjMtNC0xNTQiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4z
LzE1LjIuMy4zLzE1LjIuMy4zLTQtMTU0LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBv
biBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nKSIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJ0b1VUQ1N0cmluZyIpOw0KLSAgaWYgKGRlc2MudmFs
dWUgPT09IERhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nICYmDQotICAgICAgZGVzYy53cml0YWJs
ZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAg
ICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0N
Ci0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBm
bkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTE1NCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTU0LmpzIiwKKworZGVzY3Jp
cHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNj
IGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZyki
LAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAidG9VVENTdHJpbmciKTsKKyAg
aWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nICYmCisgICAgICBk
ZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNl
ICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVl
OworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVy
biBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMy00LTE1NC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTE1NS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNTUuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE1NS5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTE1NSIsDQotDQotcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTUuanMiLA0KLQ0K
LWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRh
dGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoRGF0ZS5wcm90b3R5cGUudG9HTVRT
dHJpbmcpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0g
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInRvR01UU3Ry
aW5nIik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUudG9HTVRTdHJpbmcg
JiYNCi0gICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJh
YmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQot
ICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisv
Ly8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtMTU1IiwK
KworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4z
LjMtNC0xNTUuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUu
cHJvdG90eXBlLnRvR01UU3RyaW5nKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewor
ICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5
cGUsICJ0b0dNVFN0cmluZyIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUu
dG9HTVRTdHJpbmcgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRl
c2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0
cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTU1LmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTU2LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE1Ni5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4zLTQtMTU2LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
DQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTU2
IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8x
NS4yLjMuMy00LTE1Ni5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5z
IChEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihE
YXRlLnByb3RvdHlwZSwgInRvVGltZVN0cmluZyIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IERh
dGUucHJvdG90eXBlLnRvVGltZVN0cmluZyAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRy
dWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5j
b25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQot
DQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMo
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTUuMi4zLjMtNC0xNTYiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE1Ni5qcyIsCisKK2Rlc2NyaXB0aW9uOiAi
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVu
Y3Rpb25zIG9uIGJ1aWx0LWlucyAoRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5nKSIsCisKK3Rl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJ0b1RpbWVTdHJpbmciKTsKKyAgaWYgKGRl
c2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZyAmJgorICAgICAgZGVzYy53
cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgor
ICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAg
fQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5F
eGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjMtNC0xNTYuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNTcu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4zLTQtMTU3LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNTcuanMJKHdv
cmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QN
Ci0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0xNTciLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTU3LmpzIiwNCi0NCi1kZXNj
cmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRl
c2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnRvRGF0ZVN0cmlu
ZykiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAidG9EYXRlU3RyaW5n
Iik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nICYm
DQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJs
ZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAg
ICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8v
IAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTE1NyIsCisK
K3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4z
LTQtMTU3LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnBy
b3RvdHlwZS50b0RhdGVTdHJpbmcpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7Cisg
IHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlw
ZSwgInRvRGF0ZVN0cmluZyIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUu
dG9EYXRlU3RyaW5nICYmCisgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICBk
ZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0g
dHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE1Ny5qcwpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE1OC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNTguanMJKHJl
dmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMy00LTE1OC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBA
QAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0K
LS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTE1
OCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMv
MTUuMi4zLjMtNC0xNTguanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlu
cyAoRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nKSIsDQotDQotdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoRGF0ZS5wcm90b3R5cGUsICJ0b0xvY2FsZURhdGVTdHJpbmciKTsNCi0gIGlmIChkZXNj
LnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcgJiYNCi0gICAgICBk
ZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxz
ZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0
cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0K
LSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtMTU4IiwKKworcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTguanMi
LAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJu
cyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnRv
TG9jYWxlRGF0ZVN0cmluZykiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFy
IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAi
dG9Mb2NhbGVEYXRlU3RyaW5nIik7CisgIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlw
ZS50b0xvY2FsZURhdGVTdHJpbmcgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYK
KyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJh
YmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTU4Lmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTU5LmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE1
OS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTU5LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQy
ICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAN
Ci0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0v
Ly8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIu
My4zLTQtMTU5IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8x
NS4yLjMuMy8xNS4yLjMuMy00LTE1OS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24g
YnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcpIiwNCi0NCi10ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInRvTG9jYWxlVGltZVN0cmluZyIpOw0KLSAg
aWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZyAmJg0K
LSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUg
PT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAg
cmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8K
Ky8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAK
Ky8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisK
KworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0xNTkiLAorCitw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00
LTE1OS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
ciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoRGF0ZS5wcm90
b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
eworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90
b3R5cGUsICJ0b0xvY2FsZVRpbWVTdHJpbmciKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUu
cHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZyAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0g
dHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5j
b25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3By
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMt
NC0xNTkuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitM
RgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNi5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4z
LjMtNC0xNi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTYuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
Lg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAi
MTUuMi4zLjMtNC0xNiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4y
LjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMg
b24gYnVpbHQtaW5zIChPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcykiLA0KLQ0KLXRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKE9iamVjdCwgImdldE93blByb3BlcnR5TmFtZXMiKTsNCi0gIGlmIChkZXNjLnZh
bHVlID09PSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAmJg0KLSAgICAgIGRlc2Mud3JpdGFi
bGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAg
ICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9
DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4g
Zm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0xNiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTYuanMiLAorCitkZXNjcmlw
dGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2Mg
Zm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKSIs
CisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiZ2V0T3duUHJvcGVydHlOYW1lcyIpOworICBp
ZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgJiYKKyAgICAgIGRl
c2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2Ug
JiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7
CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJu
IGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4zLTQtMTYuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQoj
IyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0x
NjAuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4zLTQtMTYwLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNjAuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0xNjAiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTYwLmpzIiwNCi0NCi1k
ZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRh
IGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnZhbHVlT2Yp
IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInZhbHVlT2YiKTsNCi0g
IGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS52YWx1ZU9mICYmDQotICAgICAgZGVz
Yy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2Ug
JiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1
ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0g
IHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTE2MCIsCisKK3BhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTYwLmpzIiwK
KworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMg
ZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS52YWx1
ZU9mKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJ2YWx1ZU9mIik7Cisg
IGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS52YWx1ZU9mICYmCisgICAgICBkZXNj
LndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYm
CisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOwor
ICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBm
bkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMy00LTE2MC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMj
IC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE2
MS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNjEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE2MS5qcwko
d29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTE2MSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjEuanMiLA0KLQ0KLWRl
c2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEg
ZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoRGF0ZS5wcm90b3R5cGUudG9JU09TdHJp
bmcpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInRvSVNPU3RyaW5n
Iik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcgJiYN
Ci0gICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxl
ID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAg
IHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
CisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8g
CisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtMTYxIiwKKwor
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMt
NC0xNjEuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJv
dG90eXBlLnRvSVNPU3RyaW5nKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2
YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUs
ICJ0b0lTT1N0cmluZyIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUudG9J
U09TdHJpbmcgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2Mu
ZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVl
KSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTYxLmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4zLTQtMTYyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE2Mi5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4zLTQtMTYyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTYyIiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4y
LjMuMy00LTE2Mi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChE
YXRlLnByb3RvdHlwZS50b0pTT04pIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsN
Ci0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3Rv
dHlwZSwgInRvSlNPTiIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnRv
SlNPTiAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVu
dW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUp
IHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0x
NjIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8x
NS4yLjMuMy00LTE2Mi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAo
RGF0ZS5wcm90b3R5cGUudG9KU09OKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewor
ICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5
cGUsICJ0b0pTT04iKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnRvSlNP
TiAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJh
YmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAg
ICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7
CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNjIuanMKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjMtNC0xNjMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTYzLmpzCShyZXZpc2lvbiAxOTk1
NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjMtNC0xNjMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQot
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1F
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0xNjMiLA0KLQ0KLXBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQt
MTYzLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFJlZ0V4cC5w
cm90b3R5cGUuY29uc3RydWN0b3IpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsN
Ci0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJv
dG90eXBlLCAiY29uc3RydWN0b3IiKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBSZWdFeHAucHJv
dG90eXBlLmNvbnN0cnVjdG9yICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0K
LSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3Vy
YWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6
ICIxNS4yLjMuMy00LTE2MyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUu
Mi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTYzLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMg
b24gYnVpbHQtaW5zIChSZWdFeHAucHJvdG90eXBlLmNvbnN0cnVjdG9yKSIsCisKK3Rlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoUmVnRXhwLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIik7CisgIGlmIChkZXNjLnZh
bHVlID09PSBSZWdFeHAucHJvdG90eXBlLmNvbnN0cnVjdG9yICYmCisgICAgICBkZXNjLndyaXRh
YmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAg
ICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9Cisg
fSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0
cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMy00LTE2My5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAg
KzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE2NC5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjMtNC0xNjQuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE2NC5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
DQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7DQotaWQ6ICIxNS4yLjMuMy00LTE2NCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjQuanMiLA0KLQ0KLWRlc2NyaXB0
aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBm
b3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoUmVnRXhwLnByb3RvdHlwZS5jb21waWxlKSIsDQot
DQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoUmVnRXhwLnByb3RvdHlwZSwgImNvbXBpbGUiKTsNCi0gIGlm
IChkZXNjLnZhbHVlID09PSBSZWdFeHAucHJvdG90eXBlLmNvbXBpbGUgJiYNCi0gICAgICBkZXNj
LndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAm
Jg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVl
Ow0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAg
cmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQot
fSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8g
CisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwK
Ky8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtMTY0IiwKKworcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjQuanMiLAor
CitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBk
YXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFJlZ0V4cC5wcm90b3R5cGUuY29t
cGlsZSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJjb21waWxlIik7
CisgIGlmIChkZXNjLnZhbHVlID09PSBSZWdFeHAucHJvdG90eXBlLmNvbXBpbGUgJiYKKyAgICAg
IGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFs
c2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRy
dWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0
dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4zLTQtMTY0LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4z
LTQtMTY1LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE2NS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTY1
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTY1IiwNCi0NCi1wYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE2NS5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMg
ZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChSZWdFeHAucHJvdG90eXBlLmV4
ZWMpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAiZXhlYyIpOw0K
LSAgaWYgKGRlc2MudmFsdWUgPT09IFJlZ0V4cC5wcm90b3R5cGUuZXhlYyAmJg0KLSAgICAgIGRl
c2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNl
ICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRy
dWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQot
ICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0N
Ci19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8v
LyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisv
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0xNjUiLAorCitwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE2NS5qcyIs
CisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5z
IGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoUmVnRXhwLnByb3RvdHlwZS5l
eGVjKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUmVnRXhwLnByb3RvdHlwZSwgImV4ZWMiKTsKKyAg
aWYgKGRlc2MudmFsdWUgPT09IFJlZ0V4cC5wcm90b3R5cGUuZXhlYyAmJgorICAgICAgZGVzYy53
cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgor
ICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAg
fQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5F
eGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjMtNC0xNjUuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNjYu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4zLTQtMTY2LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNjYuanMJKHdv
cmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QN
Ci0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0xNjYiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTY2LmpzIiwNCi0NCi1kZXNj
cmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRl
c2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFJlZ0V4cC5wcm90b3R5cGUudGVzdCkiLA0K
LQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJ0ZXN0Iik7DQotICBpZiAo
ZGVzYy52YWx1ZSA9PT0gUmVnRXhwLnByb3RvdHlwZS50ZXN0ICYmDQotICAgICAgZGVzYy53cml0
YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0g
ICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0g
IH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVy
biBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0K
Ky8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTE2NiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTY2LmpzIiwKKworZGVz
Y3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBk
ZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChSZWdFeHAucHJvdG90eXBlLnRlc3QpIiwK
KwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAidGVzdCIpOworICBpZiAoZGVz
Yy52YWx1ZSA9PT0gUmVnRXhwLnByb3RvdHlwZS50ZXN0ICYmCisgICAgICBkZXNjLndyaXRhYmxl
ID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBk
ZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwK
KworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMy00LTE2Ni5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE2Ny5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjMtNC0xNjcuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE2Ny5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
DQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQot
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
DQotaWQ6ICIxNS4yLjMuMy00LTE2NyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjcuanMiLA0KLQ0KLWRlc2NyaXB0aW9u
OiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3Ig
ZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZykiLA0KLQ0K
LXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJ0b1N0cmluZyIpOw0KLSAgaWYg
KGRlc2MudmFsdWUgPT09IFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcgJiYNCi0gICAgICBkZXNj
LndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAm
Jg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVl
Ow0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAg
cmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQot
fSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8g
CisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwK
Ky8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtMTY3IiwKKworcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjcuanMiLAor
CitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBk
YXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFJlZ0V4cC5wcm90b3R5cGUudG9T
dHJpbmcpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAidG9TdHJpbmci
KTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcgJiYKKyAg
ICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0g
ZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJu
IHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAg
cmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30p
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTY3LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4zLTQtMTY4LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE2OC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQt
MTY4LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0K
LS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
Uw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTY4IiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE2OC5qcyIs
DQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVy
bnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChFcnJvci5wcm90b3R5cGUu
Y29uc3RydWN0b3IpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBk
ZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihFcnJvci5wcm90b3R5cGUsICJj
b25zdHJ1Y3RvciIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IEVycm9yLnByb3RvdHlwZS5jb25z
dHJ1Y3RvciAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNj
LmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRy
dWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisv
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMt
NC0xNjgiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMu
My8xNS4yLjMuMy00LTE2OC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlu
cyAoRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXJy
b3IucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IEVycm9y
LnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAm
JgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1
cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNjgu
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNjkuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQt
MTY5LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNjkuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
NDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUu
Mi4zLjMtNC0xNjkiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4z
LzE1LjIuMy4zLzE1LjIuMy4zLTQtMTY5LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBv
biBidWlsdC1pbnMgKEVycm9yLnByb3RvdHlwZS50b1N0cmluZykiLA0KLQ0KLXRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKEVycm9yLnByb3RvdHlwZSwgInRvU3RyaW5nIik7DQotICBpZiAoZGVzYy52YWx1ZSA9
PT0gRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0g
dHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNj
LmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwN
Ci0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0
cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAK
Ky8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggeworaWQ6ICIxNS4yLjMuMy00LTE2OSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTY5LmpzIiwKKworZGVzY3JpcHRpb246
ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBm
dW5jdGlvbnMgb24gYnVpbHQtaW5zIChFcnJvci5wcm90b3R5cGUudG9TdHJpbmcpIiwKKwordGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihFcnJvci5wcm90b3R5cGUsICJ0b1N0cmluZyIpOworICBpZiAoZGVzYy52
YWx1ZSA9PT0gRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nICYmCisgICAgICBkZXNjLndyaXRhYmxl
ID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBk
ZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwK
KworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMy00LTE2OS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE3LmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMy00LTE3LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNy5qcwkod29ya2luZyBjb3B5
KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
DQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQot
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQot
aWQ6ICIxNS4yLjMuMy00LTE3IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4y
LzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE3LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0
aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5jcmVhdGUpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihPYmplY3QsICJjcmVhdGUiKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3QuY3JlYXRl
ICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVy
YWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0K
LSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
Ly8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTE3IiwK
KworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4z
LjMtNC0xNy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoT2JqZWN0
LmNyZWF0ZSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImNyZWF0ZSIpOworICBpZiAo
ZGVzYy52YWx1ZSA9PT0gT2JqZWN0LmNyZWF0ZSAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0g
dHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5j
b25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3By
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMt
NC0xNy5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xG
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE3MC5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4z
LjMtNC0xNzAuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE3MC5qcwkod29ya2luZyBjb3B5KQpA
QCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQot
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6
ICIxNS4yLjMuMy00LTE3MCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8x
NS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzAuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rp
b25zIG9uIGJ1aWx0LWlucyAoRXZhbEVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvcikiLA0KLQ0K
LXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKEV2YWxFcnJvci5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOw0K
LSAgaWYgKGRlc2MudmFsdWUgPT09IEV2YWxFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYN
Ci0gICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxl
ID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAg
IHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
CisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8g
CisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtMTcwIiwKKwor
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMt
NC0xNzAuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEV2YWxFcnJv
ci5wcm90b3R5cGUuY29uc3RydWN0b3IpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihFdmFsRXJyb3Iu
cHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IEV2YWxFcnJv
ci5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUg
JiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmln
dXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTcw
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTcxLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTE3MS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTcxLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4N
Ci0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1
LjIuMy4zLTQtMTcxIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIu
My8xNS4yLjMuMy8xNS4yLjMuMy00LTE3MS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMg
b24gYnVpbHQtaW5zIChSYW5nZUVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvcikiLA0KLQ0KLXRl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKFJhbmdlRXJyb3IucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsNCi0g
IGlmIChkZXNjLnZhbHVlID09PSBSYW5nZUVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0K
LSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUg
PT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAg
cmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8K
Ky8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAK
Ky8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisK
KworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0xNzEiLAorCitw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00
LTE3MS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
ciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoUmFuZ2VFcnJv
ci5wcm90b3R5cGUuY29uc3RydWN0b3IpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSYW5nZUVycm9y
LnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIik7CisgIGlmIChkZXNjLnZhbHVlID09PSBSYW5nZUVy
cm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1
ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25m
aWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0x
NzEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNzIuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4z
LTQtMTcyLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNzIuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
Lg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAi
MTUuMi4zLjMtNC0xNzIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUu
Mi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTcyLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9u
cyBvbiBidWlsdC1pbnMgKFJlZmVyZW5jZUVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvcikiLA0K
LQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZmVyZW5jZUVycm9yLnByb3RvdHlwZSwgImNvbnN0cnVj
dG9yIik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gUmVmZXJlbmNlRXJyb3IucHJvdG90eXBlLmNv
bnN0cnVjdG9yICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRl
c2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0g
dHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IK
Ky8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMu
My00LTE3MiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIu
My4zLzE1LjIuMy4zLTQtMTcyLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQt
aW5zIChSZWZlcmVuY2VFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IpIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihSZWZlcmVuY2VFcnJvci5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOworICBpZiAo
ZGVzYy52YWx1ZSA9PT0gUmVmZXJlbmNlRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yICYmCisg
ICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09
IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVy
biB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7Cisg
IHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE3Mi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMy00LTE3My5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNzMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTE3My5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTE3MyIsDQotDQotcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzMuanMi
LA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1
cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3ludGF4RXJyb3IucHJv
dG90eXBlLmNvbnN0cnVjdG9yKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQot
ICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3ludGF4RXJyb3Iu
cHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBTeW50YXhF
cnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCi0gICAgICBkZXNjLndyaXRhYmxlID09PSB0
cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2Mu
Y29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0K
LQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3Rz
KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7CitpZDogIjE1LjIuMy4zLTQtMTczIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzMuanMiLAorCitkZXNjcmlwdGlvbjog
Ik9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1
bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN5bnRheEVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3Rvciki
LAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKFN5bnRheEVycm9yLnByb3RvdHlwZSwgImNvbnN0cnVjdG9y
Iik7CisgIGlmIChkZXNjLnZhbHVlID09PSBTeW50YXhFcnJvci5wcm90b3R5cGUuY29uc3RydWN0
b3IgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVy
YWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7Cisg
ICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ip
OworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTczLmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4zLTQtMTc0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE3NC5qcwkocmV2aXNpb24gMTk5
NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4zLTQtMTc0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQot
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTc0IiwNCi0NCi1w
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00
LTE3NC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChUeXBlRXJy
b3IucHJvdG90eXBlLmNvbnN0cnVjdG9yKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoVHlwZUVy
cm9yLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gVHlw
ZUVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09
IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVz
Yy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0s
DQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlz
dHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0xNzQiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE3NC5qcyIsCisKK2Rlc2NyaXB0aW9u
OiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3Ig
ZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoVHlwZUVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3Rvciki
LAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKFR5cGVFcnJvci5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIp
OworICBpZiAoZGVzYy52YWx1ZSA9PT0gVHlwZUVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAm
JgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxl
ID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICBy
ZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
eworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7Cisg
fQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNzQuanMKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjMtNC0xNzUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTc1LmpzCShyZXZpc2lvbiAxOTk1NDkp
CisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4z
LjMtNC0xNzUuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0K
LS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0xNzUiLA0KLQ0KLXBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTc1
LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ig
cmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFVSSUVycm9yLnBy
b3RvdHlwZS5jb25zdHJ1Y3RvcikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFVSSUVycm9yLnBy
b3RvdHlwZSwgImNvbnN0cnVjdG9yIik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gVVJJRXJyb3Iu
cHJvdG90eXBlLmNvbnN0cnVjdG9yICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAm
Jg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZp
Z3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1w
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxNS4yLjMuMy00LTE3NSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIv
MTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTc1LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlv
bnMgb24gYnVpbHQtaW5zIChVUklFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IpIiwKKwordGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihVUklFcnJvci5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOworICBpZiAo
ZGVzYy52YWx1ZSA9PT0gVVJJRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yICYmCisgICAgICBk
ZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNl
ICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVl
OworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVy
biBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMy00LTE3NS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTE3Ni5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNzYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE3Ni5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTE3NiIsDQotDQotcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzYuanMiLA0KLQ0K
LWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRh
dGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoSlNPTi5zdHJpbmdpZnkpIiwNCi0N
Ci10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihKU09OLCAic3RyaW5naWZ5Iik7DQotICBpZiAoZGVzYy52YWx1
ZSA9PT0gSlNPTi5zdHJpbmdpZnkgJiYNCi0gICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYm
DQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmln
dXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7Citp
ZDogIjE1LjIuMy4zLTQtMTc2IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8x
NS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzYuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9u
cyBvbiBidWlsdC1pbnMgKEpTT04uc3RyaW5naWZ5KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSlNP
TiwgInN0cmluZ2lmeSIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gSlNPTi5zdHJpbmdpZnkgJiYK
KyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9
PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0
dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsK
KyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0K
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTc2LmpzCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
b2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4zLTQtMTc3LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE3Ny5qcwkocmV2aXNpb24gMTk5NTQ5KQor
KysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4z
LTQtMTc3LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0v
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTc3IiwNCi0NCi1wYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE3Ny5q
cyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJl
dHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChKU09OLnBhcnNlKSIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSlNPTiwgInBhcnNlIik7DQotICBpZiAoZGVzYy52YWx1
ZSA9PT0gSlNPTi5wYXJzZSAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0g
ICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFi
bGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAi
MTUuMi4zLjMtNC0xNzciLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIu
My8xNS4yLjMuMy8xNS4yLjMuMy00LTE3Ny5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9u
IGJ1aWx0LWlucyAoSlNPTi5wYXJzZSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsK
KyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEpTT04sICJwYXJz
ZSIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gSlNPTi5wYXJzZSAmJgorICAgICAgZGVzYy53cml0
YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAg
ICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQor
IH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlz
dHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjMtNC0xNzcuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNzguanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4zLTQtMTc4LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNzguanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggew0KLWlkOiAiMTUuMi4zLjMtNC0xNzgiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTc4LmpzIiwNCi0NCi1kZXNjcmlw
dGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2Mg
KGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChHbG9iYWwuTmFOKSIsDQot
DQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICAvLyBpbiBub24tc3RyaWN0IG1vZGUs
ICd0aGlzJyBpcyBib3VuZCB0byB0aGUgZ2xvYmFsIG9iamVjdC4NCi0gIHZhciBkZXNjID0gT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmbkdsb2JhbE9iamVjdCgpLCAiTmFOIik7DQot
DQotICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmVudW1lcmFi
bGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQot
ICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQotICAgICAgZGVz
Yy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0K
LSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0
dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7
DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisv
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtMTc4IiwKKworcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzguanMiLAorCitk
ZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRh
IGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChHbG9iYWwuTmFO
KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAvLyBpbiBub24tc3RyaWN0IG1v
ZGUsICd0aGlzJyBpcyBib3VuZCB0byB0aGUgZ2xvYmFsIG9iamVjdC4KKyAgdmFyIGRlc2MgPSBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZuR2xvYmFsT2JqZWN0KCksICJOYU4iKTsK
KworICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJs
ZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJgorICAg
ICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmhh
c093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQor
IH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlz
dHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjMtNC0xNzguanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNzkuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4zLTQtMTc5LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xNzkuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggew0KLWlkOiAiMTUuMi4zLjMtNC0xNzkiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTc5LmpzIiwNCi0NCi1kZXNjcmlw
dGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2Mg
KGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChHbG9iYWwuSW5maW5pdHkp
IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIC8vIGluIG5vbi1zdHJpY3Qg
bW9kZSwgJ3RoaXMnIGlzIGJvdW5kIHRvIHRoZSBnbG9iYWwgb2JqZWN0Lg0KLSAgdmFyIGRlc2Mg
PSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZuR2xvYmFsT2JqZWN0KCksICAiSW5m
aW5pdHkiKTsNCi0NCi0gIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRl
c2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0g
ZmFsc2UgJiYNCi0gICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYN
Ci0gICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCi0gICAgcmV0
dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7
DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKwor
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0xNzkiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE3
OS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciBy
ZXR1cm5zIGRhdGEgZGVzYyAoYWxsIGZhbHNlKSBmb3IgcHJvcGVydGllcyBvbiBidWlsdC1pbnMg
KEdsb2JhbC5JbmZpbml0eSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgLy8g
aW4gbm9uLXN0cmljdCBtb2RlLCAndGhpcycgaXMgYm91bmQgdG8gdGhlIGdsb2JhbCBvYmplY3Qu
CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmbkdsb2JhbE9i
amVjdCgpLCAgIkluZmluaXR5Iik7CisKKyAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYm
CisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3Vy
YWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBm
YWxzZSAmJgorICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7Cisg
ICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ip
OworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTc5LmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4zLTQtMTguanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTguanMJKHJldmlzaW9uIDE5OTU0
OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMy00LTE4LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTgiLA0KLQ0KLXBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTgu
anMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciBy
ZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVz
YyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiZGVmaW5lUHJvcGVy
dHkiKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3QuZGVmaW5lUHJvcGVydHkgJiYNCi0g
ICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09
PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJl
dHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ip
Ow0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisv
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisv
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtMTgiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE4
LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJl
dHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChPYmplY3QuZGVmaW5l
UHJvcGVydHkpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0g
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJkZWZpbmVQcm9wZXJ0eSIp
OworICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LmRlZmluZVByb3BlcnR5ICYmCisgICAgICBk
ZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNl
ICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVl
OworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVy
biBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMy00LTE4LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQt
MTgwLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE4MC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTgwLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ1ICsxLDQ1IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTgwIiwNCi0NCi1wYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE4MC5qcyIsDQotDQot
ZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0
YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoR2xvYmFsLnVu
ZGVmaW5lZCkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgLy8gaW4gbm9u
LXN0cmljdCBtb2RlLCAndGhpcycgaXMgYm91bmQgdG8gdGhlIGdsb2JhbCBvYmplY3QuDQotICB2
YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZm5HbG9iYWxPYmplY3Qo
KSwgICJ1bmRlZmluZWQiKTsNCi0NCi0gIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0K
LSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3Vy
YWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0g
ZmFsc2UgJiYNCi0gICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsN
Ci0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0xODAi
LAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4y
LjMuMy00LTE4MC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyAoYWxsIGZhbHNlKSBmb3IgcHJvcGVydGllcyBvbiBi
dWlsdC1pbnMgKEdsb2JhbC51bmRlZmluZWQpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7CisgIC8vIGluIG5vbi1zdHJpY3QgbW9kZSwgJ3RoaXMnIGlzIGJvdW5kIHRvIHRoZSBnbG9i
YWwgb2JqZWN0LgorICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
Zm5HbG9iYWxPYmplY3QoKSwgICJ1bmRlZmluZWQiKTsKKworICBpZiAoZGVzYy53cml0YWJsZSA9
PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRl
c2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgn
Z2V0JykgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0g
ZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xODAuanMKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xODIuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTgyLmpzCShy
ZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjMtNC0xODIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDQgKzEsNDQg
QEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyAN
Ci0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0v
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0x
ODIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4z
LzE1LjIuMy4zLTQtMTgyLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRp
ZXMgb24gYnVpbHQtaW5zIChPYmplY3QucHJvdG90eXBlKSIsDQotDQotdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoT2JqZWN0LCAicHJvdG90eXBlIik7DQotDQotICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFs
c2UgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5j
b25maWd1cmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0
JykgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZh
bHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4z
LTQtMTgyIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4z
LjMvMTUuMi4zLjMtNC0xODIuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRp
ZXMgb24gYnVpbHQtaW5zIChPYmplY3QucHJvdG90eXBlKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
T2JqZWN0LCAicHJvdG90eXBlIik7CisKKyAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYm
CisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3Vy
YWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBm
YWxzZSAmJgorICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7Cisg
ICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ip
OworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTgyLmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4zLTQtMTg1LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE4NS5qcwkocmV2aXNpb24gMTk5
NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4zLTQtMTg1LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ0ICsxLDQ0IEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQot
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTg1IiwNCi0NCi1w
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00
LTE4NS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0
LWlucyAoRnVuY3Rpb24ucHJvdG90eXBlKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRnVuY3Rp
b24sICJwcm90b3R5cGUiKTsNCi0NCi0gIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0K
LSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3Vy
YWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0g
ZmFsc2UgJiYNCi0gICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsN
Ci0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0xODUi
LAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4y
LjMuMy00LTE4NS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyAoYWxsIGZhbHNlKSBmb3IgcHJvcGVydGllcyBvbiBi
dWlsdC1pbnMgKEZ1bmN0aW9uLnByb3RvdHlwZSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEZ1bmN0
aW9uLCAicHJvdG90eXBlIik7CisKKyAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmCisg
ICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJs
ZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxz
ZSAmJgorICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7CisgICAg
cmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOwor
IH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTg1LmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4zLTQtMTg2LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE4Ni5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4zLTQtMTg2LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ0ICsxLDQ0IEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTg2IiwNCi0NCi1wYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE4
Ni5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
IHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlu
cyAoRnVuY3Rpb24ubGVuZ3RoKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQot
ICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRnVuY3Rpb24sICJs
ZW5ndGgiKTsNCi0NCi0gIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRl
c2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0g
ZmFsc2UgJiYNCi0gICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYN
Ci0gICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCi0gICAgcmV0
dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7
DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKwor
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0xODYiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE4
Ni5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciBy
ZXR1cm5zIGRhdGEgZGVzYyAoYWxsIGZhbHNlKSBmb3IgcHJvcGVydGllcyBvbiBidWlsdC1pbnMg
KEZ1bmN0aW9uLmxlbmd0aCkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFy
IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEZ1bmN0aW9uLCAibGVuZ3Ro
Iik7CisKKyAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmVudW1l
cmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYK
KyAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJgorICAgICAgZGVz
Yy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7CisgICAgcmV0dXJuIHRydWU7Cisg
IH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZu
RXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4zLTQtMTg2LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMg
LTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTg3
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMy00LTE4Ny5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTg3LmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDQ2ICsxLDQ2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
DQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTg3IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE4Ny5qcyIsDQotDQotZGVz
Y3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBk
ZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoRnVuY3Rpb24gKGlu
c3RhbmNlKS5sZW5ndGgpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZh
ciBmID0gRnVuY3Rpb24oJ3JldHVybiA0MjsnKTsNCi0NCi0gIHZhciBkZXNjID0gT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihmLCAibGVuZ3RoIik7DQotDQotICBpZiAoZGVzYy53cml0
YWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQot
ICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmhhc093blBy
b3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmhhc093blByb3BlcnR5KCdz
ZXQnKSA9PT0gZmFsc2UpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTUuMi4zLjMtNC0xODciLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1
LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE4Ny5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyAoYWxsIGZhbHNlKSBm
b3IgcHJvcGVydGllcyBvbiBidWlsdC1pbnMgKEZ1bmN0aW9uIChpbnN0YW5jZSkubGVuZ3RoKSIs
CisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZiA9IEZ1bmN0aW9uKCdyZXR1
cm4gNDI7Jyk7CisKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KGYsICJsZW5ndGgiKTsKKworICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYKKyAgICAg
IGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09
PSB0cnVlICYmCisgICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYK
KyAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgeworICAgIHJldHVy
biB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7Cisg
IHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE4Ny5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMy00LTE4OC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xODguanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTE4OC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTE4OCIsDQotDQotcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODguanMi
LA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1
cm5zIHVuZGVmaW5lZCBmb3Igbm9uLWV4aXN0ZW50IHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChG
dW5jdGlvbiAoaW5zdGFuY2UpLm5hbWUpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsNCi0gIHZhciBmID0gRnVuY3Rpb24oJ3JldHVybiA0MjsnKTsNCi0NCi0gIHZhciBkZXNjID0g
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmLCAibmFtZSIpOw0KLQ0KLSAgaWYgKGRl
c2MgPT09IHVuZGVmaW5lZCkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1w
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxNS4yLjMuMy00LTE4OCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIv
MTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTg4LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgdW5kZWZpbmVkIGZvciBub24tZXhp
c3RlbnQgcHJvcGVydGllcyBvbiBidWlsdC1pbnMgKEZ1bmN0aW9uIChpbnN0YW5jZSkubmFtZSki
LAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGYgPSBGdW5jdGlvbigncmV0
dXJuIDQyOycpOworCisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihmLCAibmFtZSIpOworCisgIGlmIChkZXNjID09PSB1bmRlZmluZWQpIHsKKyAgICByZXR1cm4g
dHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICBy
ZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xODguanMKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1z
dHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4z
LjMtNC0xODkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTg5LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0x
ODkuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDQgKzEsNDQgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0xODkiLA0KLQ0KLXBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTg5LmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJu
cyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChBcnJh
eS5wcm90b3R5cGUpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBk
ZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheSwgInByb3RvdHlwZSIp
Ow0KLQ0KLSAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5lbnVt
ZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAm
Jg0KLSAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KLSAgICAg
IGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KLSAgICByZXR1cm4gdHJ1
ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0g
IHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTE4OSIsCisKK3BhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTg5LmpzIiwK
KworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMg
ZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoQXJyYXku
cHJvdG90eXBlKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXksICJwcm90b3R5cGUiKTsKKwor
ICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9
PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJgorICAgICAg
ZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmhhc093
blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0s
CisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMo
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjMtNC0xODkuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsx
ICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xOS5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjMtNC0xOS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTkuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LWlkOiAiMTUuMi4zLjMtNC0xOSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
Mi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5j
dGlvbnMgb24gYnVpbHQtaW5zIChPYmplY3QuZGVmaW5lUHJvcGVydGllcykiLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKE9iamVjdCwgImRlZmluZVByb3BlcnRpZXMiKTsNCi0gIGlmIChkZXNjLnZh
bHVlID09PSBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUg
PT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAg
ZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQot
IH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5F
eGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0xOSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTkuanMiLAorCitkZXNjcmlwdGlv
bjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9y
IGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKSIsCisKK3Rl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiZGVmaW5lUHJvcGVydGllcyIpOworICBpZiAoZGVzYy52
YWx1ZSA9PT0gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUg
PT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRl
c2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAor
CitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4zLTQtMTkuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xOTAuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4zLTQtMTkwLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xOTAuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNDQgKzEsNDQgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LWlkOiAiMTUuMi4zLjMtNC0xOTAiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTkwLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjog
Ik9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBm
YWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChTdHJpbmcucHJvdG90eXBlKSIsDQot
DQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLCAicHJvdG90eXBlIik7DQotDQotICBpZiAoZGVz
Yy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNl
ICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5o
YXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5oYXNPd25Qcm9w
ZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0K
LQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3Rz
KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7CitpZDogIjE1LjIuMy4zLTQtMTkwIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTAuanMiLAorCitkZXNjcmlwdGlvbjog
Ik9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBm
YWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChTdHJpbmcucHJvdG90eXBlKSIsCisK
K3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLCAicHJvdG90eXBlIik7CisKKyAgaWYgKGRlc2Mud3Jp
dGFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisg
ICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuaGFzT3duUHJv
cGVydHkoJ2dldCcpID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0
JykgPT09IGZhbHNlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTkwLmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTkxLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE5
MS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTkxLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ0
ICsxLDQ0IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAN
Ci0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0v
Ly8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIu
My4zLTQtMTkxIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8x
NS4yLjMuMy8xNS4yLjMuMy00LTE5MS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBw
cm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoU3RyaW5nLmxlbmd0aCkiLA0KLQ0KLXRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKFN0cmluZywgImxlbmd0aCIpOw0KLQ0KLSAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZh
bHNlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2Mu
Y29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dl
dCcpID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBm
YWxzZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IK
Ky8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMu
My00LTE5MSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIu
My4zLzE1LjIuMy4zLTQtMTkxLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0
aWVzIG9uIGJ1aWx0LWlucyAoU3RyaW5nLmxlbmd0aCkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0
cmluZywgImxlbmd0aCIpOworCisgIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJgorICAg
ICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUg
PT09IGZhbHNlICYmCisgICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2Ug
JiYKKyAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgeworICAgIHJl
dHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9
Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE5MS5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMy00LTE5Mi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xOTIuanMJKHJldmlzaW9uIDE5OTU0OSkK
KysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
My00LTE5Mi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NSArMSw0NSBAQAotLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQot
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTE5MiIsDQotDQotcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTIu
anMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciBy
ZXR1cm5zIGRhdGEgZGVzYyAoYWxsIGZhbHNlKSBmb3IgcHJvcGVydGllcyBvbiBidWlsdC1pbnMg
KFN0cmluZyAoaW5zdGFuY2UpLmxlbmd0aCkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgew0KLSAgdmFyIHMgPSBuZXcgU3RyaW5nKCJhYmMiKTsNCi0gIHZhciBkZXNjID0gT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzLCAibGVuZ3RoIik7DQotDQotICBpZiAoZGVzYy53
cml0YWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYm
DQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5oYXNP
d25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0
eSgnc2V0JykgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0K
LXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
CitpZDogIjE1LjIuMy4zLTQtMTkyIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
Mi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTIuanMiLAorCitkZXNjcmlwdGlvbjogIk9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxz
ZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChTdHJpbmcgKGluc3RhbmNlKS5sZW5ndGgp
IiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBzID0gbmV3IFN0cmluZygi
YWJjIik7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzLCAi
bGVuZ3RoIik7CisKKyAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNj
LmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFs
c2UgJiYKKyAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJgorICAg
ICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7CisgICAgcmV0dXJuIHRy
dWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0
dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4zLTQtMTkyLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4z
LTQtMTkzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE5My5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTkz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ0ICsxLDQ0IEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTkzIiwNCi0NCi1wYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE5My5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMg
ZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoQm9vbGVh
bi5wcm90b3R5cGUpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBk
ZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihCb29sZWFuLCAicHJvdG90eXBl
Iik7DQotDQotICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmVu
dW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNl
ICYmDQotICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQotICAg
ICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0
cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0K
LSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtMTkzIiwKKworcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTMuanMi
LAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJu
cyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChCb29s
ZWFuLnByb3RvdHlwZSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRl
c2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEJvb2xlYW4sICJwcm90b3R5cGUi
KTsKKworICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuZW51bWVy
YWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJgor
ICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmCisgICAgICBkZXNj
Lmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAg
fQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5F
eGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjMtNC0xOTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xOTQu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4zLTQtMTk0LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xOTQuanMJKHdv
cmtpbmcgY29weSkKQEAgLTEsNDQgKzEsNDQgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QN
Ci0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0xOTQiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTk0LmpzIiwNCi0NCi1kZXNj
cmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRl
c2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChCb29sZWFuLmxlbmd0
aCkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEJvb2xlYW4sICJsZW5ndGgiKTsNCi0NCi0gIGlm
IChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0g
ZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBk
ZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmhhc093
blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQot
IH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5F
eGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0xOTQiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE5NC5qcyIsCisKK2Rlc2NyaXB0
aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyAo
YWxsIGZhbHNlKSBmb3IgcHJvcGVydGllcyBvbiBidWlsdC1pbnMgKEJvb2xlYW4ubGVuZ3RoKSIs
CisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoQm9vbGVhbiwgImxlbmd0aCIpOworCisgIGlmIChkZXNjLndy
aXRhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgor
ICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmhhc093blBy
b3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3Nl
dCcpID09PSBmYWxzZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE5NC5q
cwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE5NS5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0x
OTUuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE5NS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0
NCArMSw0NCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
DQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQot
Ly8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4y
LjMuMy00LTE5NSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMv
MTUuMi4zLjMvMTUuMi4zLjMtNC0xOTUuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyAoYWxsIGZhbHNlKSBmb3Ig
cHJvcGVydGllcyBvbiBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUpIiwNCi0NCi10ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihOdW1iZXIsICJwcm90b3R5cGUiKTsNCi0NCi0gIGlmIChkZXNjLndyaXRhYmxl
ID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAg
ICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmhhc093blByb3Bl
cnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQn
KSA9PT0gZmFsc2UpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAi
MTUuMi4zLjMtNC0xOTUiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIu
My8xNS4yLjMuMy8xNS4yLjMuMy00LTE5NS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyAoYWxsIGZhbHNlKSBmb3Ig
cHJvcGVydGllcyBvbiBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUpIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihOdW1iZXIsICJwcm90b3R5cGUiKTsKKworICBpZiAoZGVzYy53cml0YWJsZSA9PT0g
ZmFsc2UgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2Mu
Y29uZmlndXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0
JykgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFs
c2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xOTUuanMKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xOTYuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTk2LmpzCShyZXZp
c2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjMtNC0xOTYuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDQgKzEsNDQgQEAK
LS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0v
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAN
Ci0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0xOTYi
LA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1
LjIuMy4zLTQtMTk2LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMg
b24gYnVpbHQtaW5zIChOdW1iZXIuTUFYX1ZBTFVFKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
TnVtYmVyLCAiTUFYX1ZBTFVFIik7DQotDQotICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2Ug
JiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25m
aWd1cmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0Jykg
PT09IGZhbHNlICYmDQotICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNl
KSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQt
MTk2IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMv
MTUuMi4zLjMtNC0xOTYuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMg
b24gYnVpbHQtaW5zIChOdW1iZXIuTUFYX1ZBTFVFKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVt
YmVyLCAiTUFYX1ZBTFVFIik7CisKKyAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmCisg
ICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJs
ZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxz
ZSAmJgorICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7CisgICAg
cmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOwor
IH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTk2LmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4zLTQtMTk3LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE5Ny5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4zLTQtMTk3LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ0ICsxLDQ0IEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMTk3IiwNCi0NCi1wYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE5
Ny5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
IHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlu
cyAoTnVtYmVyLk1JTl9WQUxVRSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE51bWJlciwgIk1J
Tl9WQUxVRSIpOw0KLQ0KLSAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQotICAgICAg
ZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09
PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAm
Jg0KLSAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KLSAgICBy
ZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bwor
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAor
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKwor
CitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTE5NyIsCisKK3Bh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQt
MTk3LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
IHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlu
cyAoTnVtYmVyLk1JTl9WQUxVRSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAg
dmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE51bWJlciwgIk1JTl9W
QUxVRSIpOworCisgIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5l
bnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNl
ICYmCisgICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYKKyAgICAg
IGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgeworICAgIHJldHVybiB0cnVl
OworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVy
biBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMy00LTE5Ny5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTE5OC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xOTguanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTE5OC5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw0NCArMSw0NCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTE5OCIsDQotDQotcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTguanMiLA0KLQ0K
LWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRh
dGEgZGVzYyAoYWxsIGZhbHNlKSBmb3IgcHJvcGVydGllcyBvbiBidWlsdC1pbnMgKE51bWJlci5O
YU4pIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOdW1iZXIsICJOYU4iKTsNCi0NCi0gIGlmIChk
ZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFs
c2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNj
Lmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmhhc093blBy
b3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0s
DQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlz
dHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0xOTgiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE5OC5qcyIsCisKK2Rlc2NyaXB0aW9u
OiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyAoYWxs
IGZhbHNlKSBmb3IgcHJvcGVydGllcyBvbiBidWlsdC1pbnMgKE51bWJlci5OYU4pIiwKKwordGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihOdW1iZXIsICJOYU4iKTsKKworICBpZiAoZGVzYy53cml0YWJsZSA9PT0g
ZmFsc2UgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2Mu
Y29uZmlndXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0
JykgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFs
c2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xOTguanMKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0xOTkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMTk5LmpzCShyZXZp
c2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjMtNC0xOTkuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDQgKzEsNDQgQEAK
LS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0v
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAN
Ci0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0xOTki
LA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1
LjIuMy4zLTQtMTk5LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMg
b24gYnVpbHQtaW5zIChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIiwNCi0NCi10ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihOdW1iZXIsICJORUdBVElWRV9JTkZJTklUWSIpOw0KLQ0KLSAgaWYgKGRlc2Mud3Jp
dGFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0K
LSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuaGFzT3du
UHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuaGFzT3duUHJvcGVydHko
J3NldCcpID09PSBmYWxzZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1w
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxNS4yLjMuMy00LTE5OSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIv
MTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMTk5LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2Up
IGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSIs
CisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLCAiTkVHQVRJVkVfSU5GSU5JVFkiKTsKKworICBp
ZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0g
ZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVz
Yy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmhhc093blBy
b3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisK
K3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4z
LjMtNC0xOTkuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMy00LTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsNDEgKzEsNDEgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
Lg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAi
MTUuMi4zLjMtNC0yIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIu
My8xNS4yLjMuMy8xNS4yLjMuMy00LTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIHVuZGVmaW5lZCBmb3Igbm9uLWV4aXN0ZW50
IHByb3BlcnRpZXMiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgICB2YXIg
byA9IHt9Ow0KLQ0KLSAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IobywgImZvbyIpOw0KLSAgICBpZiAoZGVzYyA9PT0gdW5kZWZpbmVkKSB7DQotICAgICAgcmV0
dXJuIHRydWU7DQotICAgIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bwor
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAor
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKwor
CitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTIiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIu
anMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0
dXJucyB1bmRlZmluZWQgZm9yIG5vbi1leGlzdGVudCBwcm9wZXJ0aWVzIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgICAgdmFyIG8gPSB7fTsKKworICAgIHZhciBkZXNjID0gT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7CisgICAgaWYgKGRlc2MgPT09
IHVuZGVmaW5lZCkgeworICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorIH0sCisKK3ByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yLmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjAuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjAu
anMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIwLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsx
LDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0v
Ly8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQN
Ci0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0K
LS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8g
DQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4z
LTQtMjAiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIu
My4zLzE1LjIuMy4zLTQtMjAuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0
LWlucyAoT2JqZWN0LnNlYWwpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0g
IHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJzZWFs
Iik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LnNlYWwgJiYNCi0gICAgICBkZXNjLndy
aXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0K
LSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0K
LSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0
dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7
DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisv
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtMjAiLAorCitwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIwLmpzIiwKKworZGVz
Y3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBk
ZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChPYmplY3Quc2VhbCkiLAorCit0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKE9iamVjdCwgInNlYWwiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5z
ZWFsICYmCisgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1l
cmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgewor
ICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIwLmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4zLTQtMjAwLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIwMC5qcwkocmV2aXNpb24gMTk5
NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4zLTQtMjAwLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ0ICsxLDQ0IEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQot
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMjAwIiwNCi0NCi1w
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00
LTIwMC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0
LWlucyAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
TnVtYmVyLCAiUE9TSVRJVkVfSU5GSU5JVFkiKTsNCi0NCi0gIGlmIChkZXNjLndyaXRhYmxlID09
PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBk
ZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmhhc093blByb3BlcnR5
KCdnZXQnKSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9
PT0gZmFsc2UpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MK
Ky8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUu
Mi4zLjMtNC0yMDAiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8x
NS4yLjMuMy8xNS4yLjMuMy00LTIwMC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyAoYWxsIGZhbHNlKSBmb3IgcHJv
cGVydGllcyBvbiBidWlsdC1pbnMgKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkiLAorCit0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKE51bWJlciwgIlBPU0lUSVZFX0lORklOSVRZIik7CisKKyAgaWYgKGRlc2Mu
d3JpdGFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYm
CisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuaGFzT3du
UHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgn
c2V0JykgPT09IGZhbHNlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjAw
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjAxLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTIwMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjAxLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQ0ICsxLDQ0IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4N
Ci0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1
LjIuMy4zLTQtMjAxIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIu
My8xNS4yLjMuMy8xNS4yLjMuMy00LTIwMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZv
ciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTnVtYmVyLmxlbmd0aCkiLA0KLQ0KLXRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKE51bWJlciwgImxlbmd0aCIpOw0KLQ0KLSAgaWYgKGRlc2Mud3JpdGFibGUgPT09
IGZhbHNlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRl
c2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuaGFzT3duUHJvcGVydHko
J2dldCcpID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09
PSBmYWxzZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwor
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4y
LjMuMy00LTIwMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1
LjIuMy4zLzE1LjIuMy4zLTQtMjAxLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9w
ZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTnVtYmVyLmxlbmd0aCkiLAorCit0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KE51bWJlciwgImxlbmd0aCIpOworCisgIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJgor
ICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFi
bGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFs
c2UgJiYKKyAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgeworICAg
IHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsK
KyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIwMS5qcwpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuMy00LTIwMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yMDIuanMJKHJldmlzaW9uIDE5OTU0
OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMy00LTIwMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NCArMSw0NCBAQAotLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
DQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0v
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTIwMiIsDQotDQotcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0y
MDIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
ciByZXR1cm5zIGRhdGEgZGVzYyAoYWxsIGZhbHNlKSBmb3IgcHJvcGVydGllcyBvbiBidWlsdC1p
bnMgKE1hdGguRSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRl
c2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJFIik7DQotDQotICBp
ZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09
IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQotICAgICAg
ZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5oYXNP
d25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0K
LSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZu
RXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
Ky8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtMjAyIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDIuanMiLAorCitkZXNjcmlw
dGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2Mg
KGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChNYXRoLkUpIiwKKwordGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihNYXRoLCAiRSIpOworCisgIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxz
ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25m
aWd1cmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9
PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkg
eworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIwMi5qcwpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMy00LTIwMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yMDMuanMJKHJldmlzaW9u
IDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuMy00LTIwMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NCArMSw0NCBAQAotLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0K
LQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTIwMyIsDQot
DQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4z
LjMtNC0yMDMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyAoYWxsIGZhbHNlKSBmb3IgcHJvcGVydGllcyBvbiBi
dWlsdC1pbnMgKE1hdGguTE4xMCkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJMTjEw
Iik7DQotDQotICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmVu
dW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNl
ICYmDQotICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQotICAg
ICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0
cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0K
LSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtMjAzIiwKKworcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDMuanMi
LAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJu
cyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChNYXRo
LkxOMTApIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiTE4xMCIpOworCisgIGlmIChkZXNj
LndyaXRhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAm
JgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmhhc093
blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuaGFzT3duUHJvcGVydHko
J3NldCcpID09PSBmYWxzZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIw
My5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIwNC5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMt
NC0yMDQuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIwNC5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSw0NCArMSw0NCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIx
NS4yLjMuMy00LTIwNCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4y
LjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDQuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyAoYWxsIGZhbHNlKSBm
b3IgcHJvcGVydGllcyBvbiBidWlsdC1pbnMgKE1hdGguTE4yKSIsDQotDQotdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoTWF0aCwgIkxOMiIpOw0KLQ0KLSAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYm
DQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmln
dXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09
PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkg
ew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTIw
NCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1
LjIuMy4zLTQtMjA0LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9u
IGJ1aWx0LWlucyAoTWF0aC5MTjIpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7Cisg
IHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiTE4yIik7
CisKKyAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmVudW1lcmFi
bGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYKKyAg
ICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5o
YXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0K
KyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhp
c3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4zLTQtMjA0LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjA1Lmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMy00LTIwNS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjA1LmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDQ0ICsxLDQ0IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQot
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMjA1IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIwNS5qcyIsDQotDQotZGVzY3Jp
cHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNj
IChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5MT0cyRSkiLA0K
LQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJMT0cyRSIpOw0KLQ0KLSAgaWYgKGRlc2Mud3Jp
dGFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0K
LSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuaGFzT3du
UHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuaGFzT3duUHJvcGVydHko
J3NldCcpID09PSBmYWxzZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1w
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxNS4yLjMuMy00LTIwNSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIv
MTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMjA1LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2Up
IGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5MT0cyRSkiLAorCit0ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKE1hdGgsICJMT0cyRSIpOworCisgIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAm
JgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1
cmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0g
ZmFsc2UgJiYKKyAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgewor
ICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIwNS5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMy00LTIwNi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yMDYuanMJKHJldmlzaW9uIDE5
OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMy00LTIwNi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NCArMSw0NCBAQAotLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYN
Ci0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0K
LUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTIwNiIsDQotDQot
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMt
NC0yMDYuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvciByZXR1cm5zIGRhdGEgZGVzYyAoYWxsIGZhbHNlKSBmb3IgcHJvcGVydGllcyBvbiBidWls
dC1pbnMgKE1hdGguTE9HMTBFKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQot
ICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgIkxPRzEw
RSIpOw0KLQ0KLSAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5l
bnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxz
ZSAmJg0KLSAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KLSAg
ICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KLSAgICByZXR1cm4g
dHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsN
Ci0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0g
fQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAor
Ly8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQK
Ky8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgor
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTIwNiIsCisKK3BhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMjA2Lmpz
IiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVy
bnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0
aC5MT0cxMEUpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0g
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiTE9HMTBFIik7CisKKyAgaWYg
KGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZh
bHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2Mu
aGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5oYXNPd25Qcm9w
ZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitw
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4z
LTQtMjA2LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIwor
TEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjA3LmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMy00LTIwNy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjA3LmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDQ0ICsxLDQ0IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IN
Ci0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0v
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1p
ZDogIjE1LjIuMy4zLTQtMjA3IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4y
LzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIwNy5qcyIsDQotDQotZGVzY3JpcHRpb246ICJP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFs
c2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5QSSkiLA0KLQ0KLXRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKE1hdGgsICJQSSIpOw0KLQ0KLSAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNl
ICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29u
ZmlndXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcp
ID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxz
ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00
LTIwNyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4z
LzE1LjIuMy4zLTQtMjA3LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVz
IG9uIGJ1aWx0LWlucyAoTWF0aC5QSSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsK
KyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJQSSIp
OworCisgIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5lbnVtZXJh
YmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmCisg
ICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2Mu
aGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgeworICAgIHJldHVybiB0cnVlOworICB9
CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4
aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuMy00LTIwNy5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w
LDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIwOC5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjMtNC0yMDguanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIwOC5qcwkod29y
a2luZyBjb3B5KQpAQCAtMSw0NCArMSw0NCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0K
LS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTIwOCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDguanMiLA0KLQ0KLWRlc2Ny
aXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVz
YyAoYWxsIGZhbHNlKSBmb3IgcHJvcGVydGllcyBvbiBidWlsdC1pbnMgKE1hdGguU1FSVDFfMiki
LA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJTUVJUMV8yIik7DQotDQotICBpZiAoZGVz
Yy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNl
ICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5o
YXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5oYXNPd25Qcm9w
ZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0K
LQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3Rz
KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7CitpZDogIjE1LjIuMy4zLTQtMjA4IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDguanMiLAorCitkZXNjcmlwdGlvbjog
Ik9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBm
YWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChNYXRoLlNRUlQxXzIpIiwKKwordGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihNYXRoLCAiU1FSVDFfMiIpOworCisgIGlmIChkZXNjLndyaXRhYmxlID09
PSBmYWxzZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVz
Yy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmhhc093blByb3BlcnR5KCdn
ZXQnKSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBm
YWxzZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIwOC5qcwpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIwOS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yMDkuanMJKHJl
dmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMy00LTIwOS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NCArMSw0NCBA
QAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0K
LS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTIw
OSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMv
MTUuMi4zLjMtNC0yMDkuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyAoYWxsIGZhbHNlKSBmb3IgcHJvcGVydGll
cyBvbiBidWlsdC1pbnMgKE1hdGguU1FSVDIpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRo
LCAiU1FSVDIiKTsNCi0NCi0gIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KLSAgICAg
IGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9
PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2Ug
JiYNCi0gICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCi0gICAg
cmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8K
Ky8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAK
Ky8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisK
KworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0yMDkiLAorCitw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00
LTIwOS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
ciByZXR1cm5zIGRhdGEgZGVzYyAoYWxsIGZhbHNlKSBmb3IgcHJvcGVydGllcyBvbiBidWlsdC1p
bnMgKE1hdGguU1FSVDIpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBk
ZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiU1FSVDIiKTsKKwor
ICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9
PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJgorICAgICAg
ZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmhhc093
blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0s
CisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMo
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjMtNC0yMDkuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsx
ICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yMS5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjMtNC0yMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjEuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LWlkOiAiMTUuMi4zLjMtNC0yMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
Mi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5j
dGlvbnMgb24gYnVpbHQtaW5zIChPYmplY3QuZnJlZXplKSIsDQotDQotdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoT2JqZWN0LCAiZnJlZXplIik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LmZyZWV6
ZSAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1l
cmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsN
Ci0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0yMSIs
CisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIu
My4zLTQtMjEuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVj
dC5mcmVlemUpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0g
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJmcmVlemUiKTsKKyAgaWYg
KGRlc2MudmFsdWUgPT09IE9iamVjdC5mcmVlemUgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09
IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2Mu
Y29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitw
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4z
LTQtMjEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitM
RgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yMTAuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4zLTQtMjEwLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yMTAuanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsNDQgKzEsNDQgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0K
LS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlk
OiAiMTUuMi4zLjMtNC0yMTAiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIv
MTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMjEwLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxz
ZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZSkiLA0KLQ0KLXRl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKERhdGUsICJwcm90b3R5cGUiKTsNCi0NCi0gIGlmIChkZXNjLndyaXRh
YmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0g
ICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmhhc093blBy
b3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmhhc093blByb3BlcnR5KCdz
ZXQnKSA9PT0gZmFsc2UpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTUuMi4zLjMtNC0yMTAiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1
LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIxMC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyAoYWxsIGZhbHNlKSBm
b3IgcHJvcGVydGllcyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlKSIsCisKK3Rlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoRGF0ZSwgInByb3RvdHlwZSIpOworCisgIGlmIChkZXNjLndyaXRhYmxlID09PSBm
YWxzZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5j
b25maWd1cmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQn
KSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxz
ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIxMC5qcwpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIxMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yMTEuanMJKHJldmlz
aW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMy00LTIxMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NCArMSw0NCBAQAot
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0K
LQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTIxMSIs
DQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUu
Mi4zLjMtNC0yMTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyAoYWxsIGZhbHNlKSBmb3IgcHJvcGVydGllcyBv
biBidWlsdC1pbnMgKFJlZ0V4cC5wcm90b3R5cGUpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihS
ZWdFeHAsICJwcm90b3R5cGUiKTsNCi0NCi0gIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAm
Jg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZp
Z3VyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9
PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2Up
IHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0y
MTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8x
NS4yLjMuMy00LTIxMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyAoYWxsIGZhbHNlKSBmb3IgcHJvcGVydGllcyBv
biBidWlsdC1pbnMgKFJlZ0V4cC5wcm90b3R5cGUpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdF
eHAsICJwcm90b3R5cGUiKTsKKworICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYKKyAg
ICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxl
ID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNl
ICYmCisgICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsKKyAgICBy
ZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
eworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7Cisg
fQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yMTEuanMKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjMtNC0yMTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjEyLmpzCShyZXZpc2lvbiAxOTk1NDkp
CisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4z
LjMtNC0yMTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDYgKzEsNDYgQEAKLS8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0K
LS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0yMTIiLA0KLQ0KLXBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMjEy
LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ig
cmV0dXJucyBhY2Nlc3NvciBkZXNjIChnZXR0ZXIpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlu
cyAoUmVnRXhwLnByb3RvdHlwZS5zb3VyY2UpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdF
eHAucHJvdG90eXBlLCAic291cmNlIik7DQotDQotICBpZiAoZGVzYy5oYXNPd25Qcm9wZXJ0eSgn
d3JpdGFibGUnKSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNl
ICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmhh
c093blByb3BlcnR5KCdnZXQnKSA9PT0gdHJ1ZSAmJg0KLSAgICAgIHR5cGVvZiBkZXNjLmdldCA9
PT0gJ2Z1bmN0aW9uJyAmJg0KLSAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSB0
cnVlICYmDQotICAgICAgZGVzYy5zZXQgPT09IHVuZGVmaW5lZCkgew0KLSAgICByZXR1cm4gdHJ1
ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0g
IHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTIxMiIsCisKK3BhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMjEyLmpzIiwK
KworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMg
YWNjZXNzb3IgZGVzYyAoZ2V0dGVyKSBmb3IgcHJvcGVydGllcyBvbiBidWlsdC1pbnMgKFJlZ0V4
cC5wcm90b3R5cGUuc291cmNlKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2
YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUmVnRXhwLnByb3RvdHlw
ZSwgInNvdXJjZSIpOworCisgIGlmIChkZXNjLmhhc093blByb3BlcnR5KCd3cml0YWJsZScpID09
PSBmYWxzZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVz
Yy5jb25maWd1cmFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dl
dCcpID09PSB0cnVlICYmCisgICAgICB0eXBlb2YgZGVzYy5nZXQgPT09ICdmdW5jdGlvbicgJiYK
KyAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSB0cnVlICYmCisgICAgICBkZXNj
LnNldCA9PT0gdW5kZWZpbmVkKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQt
MjEyLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjEzLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
My00LTIxMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjEzLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDQ2ICsxLDQ2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0v
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDog
IjE1LjIuMy4zLTQtMjEzIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1
LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIxMy5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgYWNjZXNzb3IgZGVzYyAoZ2V0dGVy
KSBmb3IgcHJvcGVydGllcyBvbiBidWlsdC1pbnMgKFJlZ0V4cC5wcm90b3R5cGUuZ2xvYmFsKSIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUmVnRXhwLnByb3RvdHlwZSwgImdsb2JhbCIpOw0KLQ0K
LSAgaWYgKGRlc2MuaGFzT3duUHJvcGVydHkoJ3dyaXRhYmxlJykgPT09IGZhbHNlICYmDQotICAg
ICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxl
ID09PSB0cnVlICYmDQotICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IHRydWUg
JiYNCi0gICAgICB0eXBlb2YgZGVzYy5nZXQgPT09ICdmdW5jdGlvbicgJiYNCi0gICAgICBkZXNj
Lmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2Muc2V0ID09PSB1
bmRlZmluZWQpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MK
Ky8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUu
Mi4zLjMtNC0yMTMiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8x
NS4yLjMuMy8xNS4yLjMuMy00LTIxMy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGFjY2Vzc29yIGRlc2MgKGdldHRlcikgZm9yIHBy
b3BlcnRpZXMgb24gYnVpbHQtaW5zIChSZWdFeHAucHJvdG90eXBlLmdsb2JhbCkiLAorCit0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJnbG9iYWwiKTsKKworICBpZiAoZGVzYy5o
YXNPd25Qcm9wZXJ0eSgnd3JpdGFibGUnKSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuZW51bWVy
YWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlICYmCisg
ICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gdHJ1ZSAmJgorICAgICAgdHlwZW9m
IGRlc2MuZ2V0ID09PSAnZnVuY3Rpb24nICYmCisgICAgICBkZXNjLmhhc093blByb3BlcnR5KCdz
ZXQnKSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5zZXQgPT09IHVuZGVmaW5lZCkgeworICAgIHJl
dHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9
Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIxMy5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMy00LTIxNC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yMTQuanMJKHJldmlzaW9uIDE5OTU0OSkK
KysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
My00LTIxNC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NiArMSw0NiBAQAotLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQot
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTIxNCIsDQotDQotcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTQu
anMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciBy
ZXR1cm5zIGFjY2Vzc29yIGRlc2MgKGdldHRlcikgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5z
IChSZWdFeHAucHJvdG90eXBlLmlnbm9yZUNhc2UpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihS
ZWdFeHAucHJvdG90eXBlLCAiaWdub3JlQ2FzZSIpOw0KLQ0KLSAgaWYgKGRlc2MuaGFzT3duUHJv
cGVydHkoJ3dyaXRhYmxlJykgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09
PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlICYmDQotICAgICAg
ZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IHRydWUgJiYNCi0gICAgICB0eXBlb2YgZGVz
Yy5nZXQgPT09ICdmdW5jdGlvbicgJiYNCi0gICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQn
KSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2Muc2V0ID09PSB1bmRlZmluZWQpIHsNCi0gICAgcmV0
dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7
DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKwor
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0yMTQiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIx
NC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciBy
ZXR1cm5zIGFjY2Vzc29yIGRlc2MgKGdldHRlcikgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5z
IChSZWdFeHAucHJvdG90eXBlLmlnbm9yZUNhc2UpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdF
eHAucHJvdG90eXBlLCAiaWdub3JlQ2FzZSIpOworCisgIGlmIChkZXNjLmhhc093blByb3BlcnR5
KCd3cml0YWJsZScpID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxz
ZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuaGFz
T3duUHJvcGVydHkoJ2dldCcpID09PSB0cnVlICYmCisgICAgICB0eXBlb2YgZGVzYy5nZXQgPT09
ICdmdW5jdGlvbicgJiYKKyAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSB0cnVl
ICYmCisgICAgICBkZXNjLnNldCA9PT0gdW5kZWZpbmVkKSB7CisgICAgcmV0dXJuIHRydWU7Cisg
IH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZu
RXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4zLTQtMjE0LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMg
LTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjE1
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMy00LTIxNS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjE1LmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDQ2ICsxLDQ2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
DQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtMjE1IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIxNS5qcyIsDQotDQotZGVz
Y3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgYWNjZXNz
b3IgZGVzYyAoZ2V0dGVyKSBmb3IgcHJvcGVydGllcyBvbiBidWlsdC1pbnMgKFJlZ0V4cC5wcm90
b3R5cGUubXVsdGlsaW5lKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2
YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUmVnRXhwLnByb3RvdHlw
ZSwgIm11bHRpbGluZSIpOw0KLQ0KLSAgaWYgKGRlc2MuaGFzT3duUHJvcGVydHkoJ3dyaXRhYmxl
JykgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAg
ICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5oYXNPd25Qcm9w
ZXJ0eSgnZ2V0JykgPT09IHRydWUgJiYNCi0gICAgICB0eXBlb2YgZGVzYy5nZXQgPT09ICdmdW5j
dGlvbicgJiYNCi0gICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gdHJ1ZSAmJg0K
LSAgICAgIGRlc2Muc2V0ID09PSB1bmRlZmluZWQpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9
DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4g
Zm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0yMTUiLAorCitwYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIxNS5qcyIsCisKK2Rlc2Ny
aXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGFjY2Vzc29y
IGRlc2MgKGdldHRlcikgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChSZWdFeHAucHJvdG90
eXBlLm11bHRpbGluZSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRl
c2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJt
dWx0aWxpbmUiKTsKKworICBpZiAoZGVzYy5oYXNPd25Qcm9wZXJ0eSgnd3JpdGFibGUnKSA9PT0g
ZmFsc2UgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2Mu
Y29uZmlndXJhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQn
KSA9PT0gdHJ1ZSAmJgorICAgICAgdHlwZW9mIGRlc2MuZ2V0ID09PSAnZnVuY3Rpb24nICYmCisg
ICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5z
ZXQgPT09IHVuZGVmaW5lZCkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIx
NS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIxNi5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMt
NC0yMTYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIxNi5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSw0NCArMSw0NCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIx
NS4yLjMuMy00LTIxNiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4y
LjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTYuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyAoYWxsIGZhbHNlKSBm
b3IgcHJvcGVydGllcyBvbiBidWlsdC1pbnMgKEVycm9yLnByb3RvdHlwZSkiLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKEVycm9yLCAicHJvdG90eXBlIik7DQotDQotICBpZiAoZGVzYy53cml0YWJs
ZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAg
ICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5oYXNPd25Qcm9w
ZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0
JykgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDog
IjE1LjIuMy4zLTQtMjE2IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4y
LjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTYuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9y
IHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChFcnJvci5wcm90b3R5cGUpIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihFcnJvciwgInByb3RvdHlwZSIpOworCisgIGlmIChkZXNjLndyaXRhYmxlID09PSBm
YWxzZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5j
b25maWd1cmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQn
KSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxz
ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIxNi5qcwpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIxNy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yMTcuanMJKHJldmlz
aW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMy00LTIxNy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NCArMSw0NCBAQAot
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0K
LQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTIxNyIs
DQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUu
Mi4zLjMtNC0yMTcuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyAoYWxsIGZhbHNlKSBmb3IgcHJvcGVydGllcyBv
biBidWlsdC1pbnMgKEV2YWxFcnJvci5wcm90b3R5cGUpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihFdmFsRXJyb3IsICJwcm90b3R5cGUiKTsNCi0NCi0gIGlmIChkZXNjLndyaXRhYmxlID09PSBm
YWxzZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNj
LmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmhhc093blByb3BlcnR5KCdn
ZXQnKSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0g
ZmFsc2UpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4z
LjMtNC0yMTciLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4y
LjMuMy8xNS4yLjMuMy00LTIxNy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyAoYWxsIGZhbHNlKSBmb3IgcHJvcGVy
dGllcyBvbiBidWlsdC1pbnMgKEV2YWxFcnJvci5wcm90b3R5cGUpIiwKKwordGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihFdmFsRXJyb3IsICJwcm90b3R5cGUiKTsKKworICBpZiAoZGVzYy53cml0YWJsZSA9PT0g
ZmFsc2UgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2Mu
Y29uZmlndXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0
JykgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFs
c2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yMTcuanMKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yMTguanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjE4LmpzCShyZXZp
c2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjMtNC0yMTguanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDQgKzEsNDQgQEAK
LS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0v
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAN
Ci0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0yMTgi
LA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1
LjIuMy4zLTQtMjE4LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMg
b24gYnVpbHQtaW5zIChSYW5nZUVycm9yLnByb3RvdHlwZSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKFJhbmdlRXJyb3IsICJwcm90b3R5cGUiKTsNCi0NCi0gIGlmIChkZXNjLndyaXRhYmxlID09
PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBk
ZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmhhc093blByb3BlcnR5
KCdnZXQnKSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9
PT0gZmFsc2UpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MK
Ky8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUu
Mi4zLjMtNC0yMTgiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8x
NS4yLjMuMy8xNS4yLjMuMy00LTIxOC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyAoYWxsIGZhbHNlKSBmb3IgcHJv
cGVydGllcyBvbiBidWlsdC1pbnMgKFJhbmdlRXJyb3IucHJvdG90eXBlKSIsCisKK3Rlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoUmFuZ2VFcnJvciwgInByb3RvdHlwZSIpOworCisgIGlmIChkZXNjLndyaXRhYmxl
ID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAg
ZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmhhc093blByb3BlcnR5
KCdnZXQnKSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09
PSBmYWxzZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIxOC5qcwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIxOS5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yMTkuanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIxOS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NCArMSw0
NCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8v
IA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQot
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0v
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0K
LS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00
LTIxOSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4z
LjMvMTUuMi4zLjMtNC0yMTkuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyAoYWxsIGZhbHNlKSBmb3IgcHJvcGVy
dGllcyBvbiBidWlsdC1pbnMgKFJlZmVyZW5jZUVycm9yLnByb3RvdHlwZSkiLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKFJlZmVyZW5jZUVycm9yLCAicHJvdG90eXBlIik7DQotDQotICBpZiAoZGVz
Yy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNl
ICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5o
YXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5oYXNPd25Qcm9w
ZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0K
LQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3Rz
KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7CitpZDogIjE1LjIuMy4zLTQtMjE5IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTkuanMiLAorCitkZXNjcmlwdGlvbjog
Ik9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBm
YWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChSZWZlcmVuY2VFcnJvci5wcm90b3R5
cGUpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWZlcmVuY2VFcnJvciwgInByb3RvdHlwZSIpOwor
CisgIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxl
ID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmCisgICAg
ICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuaGFz
T3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgeworICAgIHJldHVybiB0cnVlOworICB9Cisg
fSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0
cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMy00LTIxOS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAg
KzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIyLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuMy00LTIyLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yMi5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
DQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQot
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
DQotaWQ6ICIxNS4yLjMuMy00LTIyIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIyLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjog
Ik9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1
bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucykiLA0KLQ0KLXRl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKE9iamVjdCwgInByZXZlbnRFeHRlbnNpb25zIik7DQotICBpZiAoZGVz
Yy52YWx1ZSA9PT0gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zICYmDQotICAgICAgZGVzYy53cml0
YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0g
ICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0g
IH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVy
biBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0K
Ky8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTIyIiwKKworcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMi5qcyIsCisKK2Rlc2Ny
aXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVz
YyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKSIs
CisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAicHJldmVudEV4dGVuc2lvbnMiKTsKKyAgaWYg
KGRlc2MudmFsdWUgPT09IE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyAmJgorICAgICAgZGVzYy53
cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgor
ICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAg
fQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5F
eGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjMtNC0yMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w
LDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIyMC5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjMtNC0yMjAuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIyMC5qcwkod29y
a2luZyBjb3B5KQpAQCAtMSw0NCArMSw0NCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0K
LS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTIyMCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjAuanMiLA0KLQ0KLWRlc2Ny
aXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVz
YyAoYWxsIGZhbHNlKSBmb3IgcHJvcGVydGllcyBvbiBidWlsdC1pbnMgKFN5bnRheEVycm9yLnBy
b3RvdHlwZSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2Mg
PSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN5bnRheEVycm9yLCAicHJvdG90eXBl
Iik7DQotDQotICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmVu
dW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNl
ICYmDQotICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQotICAg
ICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0
cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0K
LSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtMjIwIiwKKworcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjAuanMi
LAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJu
cyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChTeW50
YXhFcnJvci5wcm90b3R5cGUpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZh
ciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTeW50YXhFcnJvciwgInBy
b3RvdHlwZSIpOworCisgIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVz
Yy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZh
bHNlICYmCisgICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYKKyAg
ICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgeworICAgIHJldHVybiB0
cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJl
dHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIyMC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
My00LTIyMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yMjEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTIy
MS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NCArMSw0NCBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTIyMSIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjEuanMiLA0K
LQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5z
IGRhdGEgZGVzYyAoYWxsIGZhbHNlKSBmb3IgcHJvcGVydGllcyBvbiBidWlsdC1pbnMgKFR5cGVF
cnJvci5wcm90b3R5cGUpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZh
ciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihUeXBlRXJyb3IsICJwcm90
b3R5cGUiKTsNCi0NCi0gIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRl
c2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0g
ZmFsc2UgJiYNCi0gICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYN
Ci0gICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCi0gICAgcmV0
dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7
DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKwor
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0yMjEiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIy
MS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciBy
ZXR1cm5zIGRhdGEgZGVzYyAoYWxsIGZhbHNlKSBmb3IgcHJvcGVydGllcyBvbiBidWlsdC1pbnMg
KFR5cGVFcnJvci5wcm90b3R5cGUpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7Cisg
IHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihUeXBlRXJyb3IsICJw
cm90b3R5cGUiKTsKKworICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRl
c2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBm
YWxzZSAmJgorICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmCisg
ICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsKKyAgICByZXR1cm4g
dHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICBy
ZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yMjEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1z
dHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4z
LjMtNC0yMjIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjIyLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0y
MjIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDQgKzEsNDQgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0yMjIiLA0KLQ0KLXBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMjIyLmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJu
cyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChVUklF
cnJvci5wcm90b3R5cGUpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZh
ciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihVUklFcnJvciwgInByb3Rv
dHlwZSIpOw0KLQ0KLSAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVz
Yy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBm
YWxzZSAmJg0KLSAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0K
LSAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KLSAgICByZXR1
cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsN
Ci0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTIyMiIsCisKK3BhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMjIy
LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJl
dHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAo
VVJJRXJyb3IucHJvdG90eXBlKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2
YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoVVJJRXJyb3IsICJwcm90
b3R5cGUiKTsKKworICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2Mu
ZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxz
ZSAmJgorICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmCisgICAg
ICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1
ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1
cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjMtNC0yMjIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHls
ZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMt
NC0yMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjMuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0yMyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMy5qcyIsDQotDQotZGVz
Y3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBk
ZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChPYmplY3QuaXNTZWFsZWQpIiwNCi0NCi10
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJpc1NlYWxlZCIpOw0KLSAgaWYgKGRlc2MudmFsdWUg
PT09IE9iamVjdC5pc1NlYWxlZCAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYN
Ci0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1
cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTUuMi4zLjMtNC0yMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUu
Mi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMjMuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBv
biBidWlsdC1pbnMgKE9iamVjdC5pc1NlYWxlZCkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVj
dCwgImlzU2VhbGVkIik7CisgIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3QuaXNTZWFsZWQgJiYK
KyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9
PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0
dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsK
KyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0K
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjMuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjMtNC0yNC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yNC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQt
MjQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0yNCIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNC5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMg
ZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChPYmplY3QuaXNGcm96ZW4pIiwN
Ci0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJpc0Zyb3plbiIpOw0KLSAgaWYgKGRlc2Mu
dmFsdWUgPT09IE9iamVjdC5pc0Zyb3plbiAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRy
dWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5j
b25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQot
DQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMo
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTUuMi4zLjMtNC0yNCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMjQuanMiLAorCitkZXNjcmlwdGlvbjogIk9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0
aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5pc0Zyb3plbikiLAorCit0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KE9iamVjdCwgImlzRnJvemVuIik7CisgIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3QuaXNGcm96
ZW4gJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVy
YWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7Cisg
ICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ip
OworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjQuanMKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjMtNC0yNS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yNS5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4zLTQtMjUuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0K
LS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0yNSIsDQotDQotcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNS5q
cyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJl
dHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChPYmplY3QuaXNFeHRl
bnNpYmxlKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiaXNFeHRlbnNpYmxlIik7
DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LmlzRXh0ZW5zaWJsZSAmJg0KLSAgICAgIGRl
c2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNl
ICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRy
dWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQot
ICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0N
Ci19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8v
LyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisv
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0yNSIsCisKK3BhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMjUuanMiLAor
CitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBk
YXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5pc0V4dGVuc2libGUp
IiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJpc0V4dGVuc2libGUiKTsKKyAgaWYgKGRl
c2MudmFsdWUgPT09IE9iamVjdC5pc0V4dGVuc2libGUgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUg
PT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRl
c2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAor
CitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4zLTQtMjUuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yNi5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjMtNC0yNi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjYuanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0K
LS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlk
OiAiMTUuMi4zLjMtNC0yNiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8x
NS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlv
bnMgb24gYnVpbHQtaW5zIChPYmplY3Qua2V5cykiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9i
amVjdCwgImtleXMiKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3Qua2V5cyAmJg0KLSAg
ICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09
IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0
dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7
DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKwor
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0yNiIsCisKK3BhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMjYu
anMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0
dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5rZXlzKSIs
CisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAia2V5cyIpOworICBpZiAoZGVzYy52YWx1ZSA9
PT0gT2JqZWN0LmtleXMgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAg
IGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09
PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjYuanMKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yNy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yNy5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4zLTQtMjcuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAK
LS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0v
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAN
Ci0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0yNyIs
DQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUu
Mi4zLjMtNC0yNy5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChP
YmplY3QucHJvdG90eXBlLmNvbnN0cnVjdG9yKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2Jq
ZWN0LnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gT2Jq
ZWN0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRy
dWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5j
b25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQot
DQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMo
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTUuMi4zLjMtNC0yNyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMjcuanMiLAorCitkZXNjcmlwdGlvbjogIk9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0
aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcm90b3R5cGUuY29uc3RydWN0b3IpIiwKKwordGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihPYmplY3QucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsKKyAgaWYgKGRl
c2MudmFsdWUgPT09IE9iamVjdC5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYKKyAgICAgIGRlc2Mu
d3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYK
KyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7Cisg
IH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZu
RXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4zLTQtMjcuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yOC5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjMtNC0yOC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjguanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggew0KLWlkOiAiMTUuMi4zLjMtNC0yOCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yOC5qcyIsDQotDQotZGVzY3JpcHRp
b246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZv
ciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKSIsDQot
DQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LnByb3RvdHlwZSwgInRvU3RyaW5nIik7DQotICBp
ZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyAmJg0KLSAgICAgIGRl
c2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNl
ICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRy
dWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQot
ICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0N
Ci19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8v
LyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisv
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0yOCIsCisKK3BhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMjguanMiLAor
CitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBk
YXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcm90b3R5cGUudG9T
dHJpbmcpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QucHJvdG90eXBlLCAidG9TdHJpbmci
KTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcgJiYKKyAg
ICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0g
ZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJu
IHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAg
cmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30p
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjguanMKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1z
dHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4z
LjMtNC0yOS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0yOS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjku
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQot
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0yOSIsDQotDQotcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yOS5qcyIsDQotDQot
ZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0
YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChPYmplY3QucHJvdG90eXBlLnZhbHVl
T2YpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QucHJvdG90eXBlLCAidmFsdWVPZiIp
Ow0KLSAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiAmJg0KLSAg
ICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09
IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0
dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7
DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKwor
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0yOSIsCisKK3BhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMjku
anMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0
dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcm90b3R5
cGUudmFsdWVPZikiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2Mg
PSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5wcm90b3R5cGUsICJ2YWx1
ZU9mIik7CisgIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgJiYK
KyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9
PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0
dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsK
KyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0K
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMjkuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjMtNC0zLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTMu
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTAgKzEsNTAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQot
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0zIiwNCi0NCi1wYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTMuanMiLA0KLQ0KLWRl
c2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGFuIG9i
amVjdCByZXByZXNlbnRpbmcgYW4gYWNjZXNzb3IgZGVzYyBmb3IgdmFsaWQgYWNjZXNzb3IgcHJv
cGVydGllcyIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICAgIHZhciBvID0g
e307DQotDQotICAgIC8vIGR1bW15IGdldHRlcg0KLSAgICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24g
KCkgeyByZXR1cm4gMTsgfQ0KLSAgICB2YXIgZCA9IHsgZ2V0OiBnZXR0ZXIgfTsNCi0NCi0gICAg
T2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkKTsNCi0NCi0gICAgdmFyIGRlc2MgPSBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCi0gICAgaWYgKGRlc2Mu
Z2V0ID09PSBnZXR0ZXIgJiYNCi0gICAgICAgIGRlc2Muc2V0ID09PSB1bmRlZmluZWQgJiYNCi0g
ICAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICAgIGRlc2MuY29uZmln
dXJhYmxlID09PSBmYWxzZSkgew0KLSAgICAgIHJldHVybiB0cnVlOw0KLSAgICB9DQotIH0sDQot
DQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMo
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTUuMi4zLjMtNC0zIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
Mi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgYW4gb2JqZWN0IHJlcHJlc2VudGlu
ZyBhbiBhY2Nlc3NvciBkZXNjIGZvciB2YWxpZCBhY2Nlc3NvciBwcm9wZXJ0aWVzIiwKKwordGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgICAgdmFyIG8gPSB7fTsKKworICAgIC8vIGR1bW15
IGdldHRlcgorICAgIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9CisgICAg
dmFyIGQgPSB7IGdldDogZ2V0dGVyIH07CisKKyAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywg
ImZvbyIsIGQpOworCisgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKG8sICJmb28iKTsKKyAgICBpZiAoZGVzYy5nZXQgPT09IGdldHRlciAmJgorICAgICAgICBk
ZXNjLnNldCA9PT0gdW5kZWZpbmVkICYmCisgICAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFs
c2UgJiYKKyAgICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7CisgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9
Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTMuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjMtNC0zMC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0zMC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQt
MzAuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0zMCIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zMC5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMg
ZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChPYmplY3QucHJvdG90eXBlLmlz
UHJvdG90eXBlT2YpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBk
ZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QucHJvdG90eXBlLCAi
aXNQcm90b3R5cGVPZiIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5wcm90b3R5cGUu
aXNQcm90b3R5cGVPZiAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAg
ICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUg
PT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MK
Ky8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUu
Mi4zLjMtNC0zMCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1
LjIuMy4zLzE1LjIuMy4zLTQtMzAuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWls
dC1pbnMgKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZikiLAorCit0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKE9iamVjdC5wcm90b3R5cGUsICJpc1Byb3RvdHlwZU9mIik7CisgIGlmIChkZXNjLnZhbHVl
ID09PSBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YgJiYKKyAgICAgIGRlc2Mud3JpdGFi
bGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAg
IGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9
LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3Rz
KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4zLTQtMzAuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsx
ICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0zMS5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjMtNC0zMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMzEuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LWlkOiAiMTUuMi4zLjMtNC0zMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
Mi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5j
dGlvbnMgb24gYnVpbHQtaW5zIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5KSIsDQot
DQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LnByb3RvdHlwZSwgImhhc093blByb3BlcnR5Iik7
DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSAm
Jg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFi
bGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCi0g
ICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8v
LyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0zMSIsCisK
K3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4z
LTQtMzEuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5w
cm90b3R5cGUuaGFzT3duUHJvcGVydHkpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QucHJv
dG90eXBlLCAiaGFzT3duUHJvcGVydHkiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5w
cm90b3R5cGUuaGFzT3duUHJvcGVydHkgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUg
JiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmln
dXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMzEu
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0zMi5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0z
Mi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMzIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIg
KzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4z
LjMtNC0zMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUu
Mi4zLjMvMTUuMi4zLjMtNC0zMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVp
bHQtaW5zIChPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKSIsDQotDQotdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoT2JqZWN0LnByb3RvdHlwZSwgInByb3BlcnR5SXNFbnVtZXJhYmxlIik7
DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVy
YWJsZSAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVu
dW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUp
IHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0z
MiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1
LjIuMy4zLTQtMzIuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9i
amVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUpIiwKKwordGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihPYmplY3QucHJvdG90eXBlLCAicHJvcGVydHlJc0VudW1lcmFibGUiKTsKKyAgaWYgKGRlc2Mu
dmFsdWUgPT09IE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUgJiYKKyAgICAg
IGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFs
c2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRy
dWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0
dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4zLTQtMzIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHls
ZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMt
NC0zMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0zMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMzMuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0zMyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zMy5qcyIsDQotDQotZGVz
Y3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBk
ZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChPYmplY3QucHJvdG90eXBlLnRvTG9jYWxl
U3RyaW5nKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LnByb3RvdHlwZSwgInRvTG9j
YWxlU3RyaW5nIik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LnByb3RvdHlwZS50b0xv
Y2FsZVN0cmluZyAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBk
ZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09
IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4z
LjMtNC0zMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIu
My4zLzE1LjIuMy4zLTQtMzMuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1p
bnMgKE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcpIiwKKwordGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihPYmplY3QucHJvdG90eXBlLCAidG9Mb2NhbGVTdHJpbmciKTsKKyAgaWYgKGRlc2MudmFsdWUg
PT09IE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgJiYKKyAgICAgIGRlc2Mud3JpdGFi
bGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAg
IGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9
LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3Rz
KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4zLTQtMzMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsx
ICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0zNC5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjMtNC0zNC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMzQuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LWlkOiAiMTUuMi4zLjMtNC0zNCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
Mi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zNC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5j
dGlvbnMgb24gYnVpbHQtaW5zIChGdW5jdGlvbi5wcm90b3R5cGUuY29uc3RydWN0b3IpIiwNCi0N
Ci10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihGdW5jdGlvbi5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOw0K
LSAgaWYgKGRlc2MudmFsdWUgPT09IEZ1bmN0aW9uLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0K
LSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUg
PT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAg
cmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8K
Ky8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAK
Ky8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisK
KworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0zNCIsCisKK3Bh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQt
MzQuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ig
cmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEZ1bmN0aW9uLnBy
b3RvdHlwZS5jb25zdHJ1Y3RvcikiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAg
dmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEZ1bmN0aW9uLnByb3Rv
dHlwZSwgImNvbnN0cnVjdG9yIik7CisgIGlmIChkZXNjLnZhbHVlID09PSBGdW5jdGlvbi5wcm90
b3R5cGUuY29uc3RydWN0b3IgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAg
ICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxl
ID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMzQuanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0zNS5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0zNS5qcwko
cmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4zLTQtMzUuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIg
QEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyAN
Ci0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0v
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC0z
NSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMv
MTUuMi4zLjMtNC0zNS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5z
IChGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihG
dW5jdGlvbi5wcm90b3R5cGUsICJ0b1N0cmluZyIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IEZ1
bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRy
dWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5j
b25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQot
DQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMo
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTUuMi4zLjMtNC0zNSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMzUuanMiLAorCitkZXNjcmlwdGlvbjogIk9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0
aW9ucyBvbiBidWlsdC1pbnMgKEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZykiLAorCit0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKEZ1bmN0aW9uLnByb3RvdHlwZSwgInRvU3RyaW5nIik7CisgIGlmIChkZXNj
LnZhbHVlID09PSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgJiYKKyAgICAgIGRlc2Mud3Jp
dGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAg
ICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0K
KyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhp
c3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4zLTQtMzUuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0zNi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjMtNC0zNi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMzYuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
Uw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0K
LS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
ew0KLWlkOiAiMTUuMi4zLjMtNC0zNiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zNi5qcyIsDQotDQotZGVzY3JpcHRpb246
ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBm
dW5jdGlvbnMgb24gYnVpbHQtaW5zIChGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkpIiwNCi0NCi10
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihGdW5jdGlvbi5wcm90b3R5cGUsICJhcHBseSIpOw0KLSAgaWYgKGRl
c2MudmFsdWUgPT09IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSAmJg0KLSAgICAgIGRlc2Mud3Jp
dGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQot
ICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQot
ICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1
cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsN
CisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0zNiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMzYuanMiLAorCitkZXNj
cmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRl
c2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSki
LAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKEZ1bmN0aW9uLnByb3RvdHlwZSwgImFwcGx5Iik7CisgIGlm
IChkZXNjLnZhbHVlID09PSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgJiYKKyAgICAgIGRlc2Mu
d3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYK
KyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7Cisg
IH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZu
RXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4zLTQtMzYuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0zNy5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjMtNC0zNy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMzcuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggew0KLWlkOiAiMTUuMi4zLjMtNC0zNyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zNy5qcyIsDQotDQotZGVzY3JpcHRp
b246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZv
ciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCkiLA0KLQ0K
LXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKEZ1bmN0aW9uLnByb3RvdHlwZSwgImNhbGwiKTsNCi0gIGlmIChk
ZXNjLnZhbHVlID09PSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCAmJg0KLSAgICAgIGRlc2Mud3Jp
dGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQot
ICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQot
ICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1
cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsN
CisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0zNyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMzcuanMiLAorCitkZXNj
cmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRl
c2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsKSIs
CisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoRnVuY3Rpb24ucHJvdG90eXBlLCAiY2FsbCIpOworICBpZiAo
ZGVzYy52YWx1ZSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgJiYKKyAgICAgIGRlc2Mud3Jp
dGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAg
ICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0K
KyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhp
c3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4zLTQtMzcuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0zOC5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjMtNC0zOC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMzguanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
Uw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0K
LS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
ew0KLWlkOiAiMTUuMi4zLjMtNC0zOCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zOC5qcyIsDQotDQotZGVzY3JpcHRpb246
ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBm
dW5jdGlvbnMgb24gYnVpbHQtaW5zIChGdW5jdGlvbi5wcm90b3R5cGUuYmluZCkiLA0KLQ0KLXRl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKEZ1bmN0aW9uLnByb3RvdHlwZSwgImJpbmQiKTsNCi0gIGlmIChkZXNj
LnZhbHVlID09PSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCAmJg0KLSAgICAgIGRlc2Mud3JpdGFi
bGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAg
ICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9
DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4g
Zm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0zOCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMzguanMiLAorCitkZXNjcmlw
dGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2Mg
Zm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKSIsCisK
K3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoRnVuY3Rpb24ucHJvdG90eXBlLCAiYmluZCIpOworICBpZiAoZGVz
Yy52YWx1ZSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgJiYKKyAgICAgIGRlc2Mud3JpdGFi
bGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAg
IGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9
LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3Rz
KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4zLTQtMzguanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsx
ICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC0zOS5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjMtNC0zOS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMzkuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LWlkOiAiMTUuMi4zLjMtNC0zOSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
Mi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zOS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5j
dGlvbnMgb24gYnVpbHQtaW5zIChBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3IpIiwNCi0NCi10
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOw0KLSAgaWYg
KGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KLSAgICAgIGRl
c2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNl
ICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRy
dWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQot
ICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0N
Ci19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8v
LyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisv
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC0zOSIsCisKK3BhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMzkuanMiLAor
CitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBk
YXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5jb25z
dHJ1Y3RvcikiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgImNvbnN0cnVj
dG9yIik7CisgIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3Ig
JiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJs
ZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAg
cmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOwor
IH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtMzkuanMKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjMtNC00LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTQuanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDMgKzEsNDMgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC00IiwNCi0NCi1wYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTQuanMiLA0KLQ0K
LWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRh
dGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLmV2YWwpIiwNCi0NCi10
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBnbG9iYWwgPSBmbkdsb2JhbE9iamVj
dCgpOw0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2Jh
bCwgICJldmFsIik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gZ2xvYmFsLmV2YWwgJiYNCi0gICAg
ICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBm
YWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVy
biB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
ew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0K
LSB9DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8g
CisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwK
Ky8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtNCIsCisKK3BhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtNC5qcyIsCisKK2Rl
c2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEg
ZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLmV2YWwpIiwKKwordGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBnbG9iYWwgPSBmbkdsb2JhbE9iamVjdCgpOwor
ICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAgImV2
YWwiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IGdsb2JhbC5ldmFsICYmCisgICAgICBkZXNjLndy
aXRhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisg
ICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9
CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4
aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9CiB9KTsKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC00LmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4zLTQtNDAuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNDAuanMJKHJldmlzaW9u
IDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuMy00LTQwLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
Rg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtNDAiLA0KLQ0K
LXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4z
LTQtNDAuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXku
cHJvdG90eXBlLmNvbmNhdCkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAg
dmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlw
ZSwgImNvbmNhdCIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5jb25j
YXQgJiYNCi0gICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVt
ZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7
DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtNDAi
LAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4y
LjMuMy00LTQwLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChBcnJh
eS5wcm90b3R5cGUuY29uY2F0KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2
YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBl
LCAiY29uY2F0Iik7CisgIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUuY29uY2F0
ICYmCisgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFi
bGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAg
IHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsK
KyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTQwLmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4zLTQtNDEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNDEuanMJKHJldmlzaW9uIDE5OTU0OSkK
KysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
My00LTQxLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0v
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtNDEiLA0KLQ0KLXBhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtNDEuanMi
LA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1
cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBl
LmpvaW4pIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0g
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJqb2luIik7
DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLmpvaW4gJiYNCi0gICAgICBk
ZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxz
ZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0
cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0K
LSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtNDEiLAorCitwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTQxLmpzIiwK
KworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMg
ZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChBcnJheS5wcm90b3R5cGUuam9p
bikiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgImpvaW4iKTsKKyAgaWYg
KGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5qb2luICYmCisgICAgICBkZXNjLndyaXRh
YmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAg
ICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9Cisg
fSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0
cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMy00LTQxLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCAr
MSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNDIuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4zLTQtNDIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTQyLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MN
Ci0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0v
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsN
Ci1pZDogIjE1LjIuMy4zLTQtNDIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtNDIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAi
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVu
Y3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLnJldmVyc2UpIiwNCi0NCi10ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJyZXZlcnNlIik7DQotICBpZiAoZGVzYy52
YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLnJldmVyc2UgJiYNCi0gICAgICBkZXNjLndyaXRhYmxl
ID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAg
IGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0K
LSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZu
RXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
Ky8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtNDIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTQyLmpzIiwKKworZGVzY3JpcHRp
b246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZv
ciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChBcnJheS5wcm90b3R5cGUucmV2ZXJzZSkiLAorCit0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInJldmVyc2UiKTsKKyAgaWYgKGRlc2Mu
dmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlICYmCisgICAgICBkZXNjLndyaXRhYmxl
ID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBk
ZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwK
KworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMy00LTQyLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAj
IworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNDMuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4zLTQtNDMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTQzLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IN
Ci0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0v
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1p
ZDogIjE1LjIuMy4zLTQtNDMiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIv
MTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtNDMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rp
b25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLnNsaWNlKSIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAic2xpY2UiKTsNCi0gIGlmIChkZXNjLnZhbHVlID09
PSBBcnJheS5wcm90b3R5cGUuc2xpY2UgJiYNCi0gICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVl
ICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29u
ZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0K
LXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
CitpZDogIjE1LjIuMy4zLTQtNDMiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4y
LzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTQzLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlv
bnMgb24gYnVpbHQtaW5zIChBcnJheS5wcm90b3R5cGUuc2xpY2UpIiwKKwordGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihBcnJheS5wcm90b3R5cGUsICJzbGljZSIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJy
YXkucHJvdG90eXBlLnNsaWNlICYmCisgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisg
ICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJs
ZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTQzLmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNDQuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNDQuanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTQ0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQy
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQt
NDQiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4z
LzE1LjIuMy4zLTQtNDQuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlu
cyAoQXJyYXkucHJvdG90eXBlLnNvcnQpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5w
cm90b3R5cGUsICJzb3J0Iik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBl
LnNvcnQgJiYNCi0gICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5l
bnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVl
KSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQt
NDQiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8x
NS4yLjMuMy00LTQ0LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChB
cnJheS5wcm90b3R5cGUuc29ydCkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAg
dmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlw
ZSwgInNvcnQiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5zb3J0ICYm
CisgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUg
PT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJl
dHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9
Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTQ0LmpzCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
b2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4zLTQtNDUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNDUuanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTQ1LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0K
LS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
Uw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtNDUiLA0KLQ0KLXBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtNDUuanMiLA0K
LQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5z
IGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLnRv
U3RyaW5nKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAidG9TdHJp
bmciKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcgJiYN
Ci0gICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxl
ID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAg
IHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
CisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8g
CisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtNDUiLAorCitw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00
LTQ1LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
IHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChBcnJheS5wcm90
b3R5cGUudG9TdHJpbmcpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBk
ZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJ0
b1N0cmluZyIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLnRvU3RyaW5n
ICYmCisgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFi
bGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAg
IHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsK
KyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTQ1LmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4zLTQtNDYuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNDYuanMJKHJldmlzaW9uIDE5OTU0OSkK
KysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
My00LTQ2LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0v
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtNDYiLA0KLQ0KLXBhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtNDYuanMi
LA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1
cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBl
LnB1c2gpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0g
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJwdXNoIik7
DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLnB1c2ggJiYNCi0gICAgICBk
ZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxz
ZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0
cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0K
LSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtNDYiLAorCitwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTQ2LmpzIiwK
KworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMg
ZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChBcnJheS5wcm90b3R5cGUucHVz
aCkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInB1c2giKTsKKyAgaWYg
KGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5wdXNoICYmCisgICAgICBkZXNjLndyaXRh
YmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAg
ICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9Cisg
fSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0
cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMy00LTQ2LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCAr
MSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNDcuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4zLTQtNDcuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTQ3LmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MN
Ci0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0v
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsN
Ci1pZDogIjE1LjIuMy4zLTQtNDciLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtNDcuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAi
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVu
Y3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLnBvcCkiLA0KLQ0KLXRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInBvcCIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09
IEFycmF5LnByb3RvdHlwZS5wb3AgJiYNCi0gICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYm
DQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmln
dXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7Citp
ZDogIjE1LjIuMy4zLTQtNDciLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1
LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTQ3LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMg
b24gYnVpbHQtaW5zIChBcnJheS5wcm90b3R5cGUucG9wKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
QXJyYXkucHJvdG90eXBlLCAicG9wIik7CisgIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90
b3R5cGUucG9wICYmCisgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNj
LmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1
ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTQ3LmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4zLTQtNDguanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNDguanMJKHJldmlzaW9u
IDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuMy00LTQ4LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
Rg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtNDgiLA0KLQ0K
LXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4z
LTQtNDguanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXku
cHJvdG90eXBlLnNoaWZ0KSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2
YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBl
LCAic2hpZnQiKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUuc2hpZnQg
JiYNCi0gICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJh
YmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQot
ICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisv
Ly8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtNDgiLAor
CitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMu
My00LTQ4LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChBcnJheS5w
cm90b3R5cGUuc2hpZnQpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBk
ZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJz
aGlmdCIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLnNoaWZ0ICYmCisg
ICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09
IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVy
biB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7Cisg
IHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTQ4LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4zLTQtNDkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNDkuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTQ5
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtNDkiLA0KLQ0KLXBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtNDkuanMiLA0KLQ0K
LWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRh
dGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLnVuc2hp
ZnQpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJ1bnNoaWZ0Iik7
DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQgJiYNCi0gICAg
ICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBm
YWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVy
biB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
ew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0K
LSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
CisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
CisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtNDkiLAorCitwYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTQ5Lmpz
IiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVy
bnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChBcnJheS5wcm90b3R5cGUu
dW5zaGlmdCkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInVuc2hpZnQi
KTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0ICYmCisgICAg
ICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZh
bHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0
cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJl
dHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTQ5LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4z
LTQtNS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC01LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC01LmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDQzICsxLDQzIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
DQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtNSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01LmpzIiwNCi0NCi1kZXNjcmlw
dGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2Mg
Zm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEdsb2JhbC5wYXJzZUludCkiLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2JqZWN0KCk7
DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAg
InBhcnNlSW50Iik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gZ2xvYmFsLnBhcnNlSW50ICYmDQot
ICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9
PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICBy
ZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KTsNCi0gfQ0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAor
Ly8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQK
Ky8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgor
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTUiLAorCitwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTUuanMiLAor
CitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBk
YXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEdsb2JhbC5wYXJzZUludCkiLAor
Cit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2Jq
ZWN0KCk7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9i
YWwsICAicGFyc2VJbnQiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IGdsb2JhbC5wYXJzZUludCAm
JgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxl
ID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICBy
ZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
eworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7Cisg
fQogfSk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQt
NS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTUwLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTUwLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC01MC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0
MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
DQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQot
Ly8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4y
LjMuMy00LTUwIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8x
NS4yLjMuMy8xNS4yLjMuMy00LTUwLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBi
dWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5zcGxpY2UpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihBcnJheS5wcm90b3R5cGUsICJzcGxpY2UiKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBBcnJh
eS5wcm90b3R5cGUuc3BsaWNlICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0K
LSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3Vy
YWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6
ICIxNS4yLjMuMy00LTUwIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4y
LjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01MC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9u
IGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLnNwbGljZSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KEFycmF5LnByb3RvdHlwZSwgInNwbGljZSIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXku
cHJvdG90eXBlLnNwbGljZSAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAg
ICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUg
PT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC01MC5qcwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTUxLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTUxLmpzCShy
ZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjMtNC01MS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBA
QAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0K
LS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTUx
IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8x
NS4yLjMuMy00LTUxLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMg
KEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZykiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KEFycmF5LnByb3RvdHlwZSwgInRvTG9jYWxlU3RyaW5nIik7DQotICBpZiAoZGVzYy52YWx1ZSA9
PT0gQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nICYmDQotICAgICAgZGVzYy53cml0YWJs
ZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAg
ICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0N
Ci0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBm
bkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTUxIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01MS5qcyIsCisKK2Rlc2NyaXB0
aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBm
b3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5n
KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAidG9Mb2NhbGVTdHJpbmci
KTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyAm
JgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxl
ID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICBy
ZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
eworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7Cisg
fQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC01MS5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMy00LTUyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTUyLmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMt
NC01Mi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTUyIiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTUyLmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJu
cyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5p
bmRleE9mKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAiaW5kZXhP
ZiIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mICYmDQot
ICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9
PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICBy
ZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bwor
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAor
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKwor
CitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTUyIiwKKworcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01
Mi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciBy
ZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90
eXBlLmluZGV4T2YpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNj
ID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJpbmRl
eE9mIik7CisgIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAmJgor
ICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09
PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1
cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewor
ICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQor
fSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC01Mi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMy00LTUzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTUzLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC01
My5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTUzIiwNCi0NCi1wYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTUzLmpzIiwNCi0N
Ci1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBk
YXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5sYXN0
SW5kZXhPZikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2Mg
PSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgImxhc3RJ
bmRleE9mIik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRl
eE9mICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51
bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkg
ew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTUz
IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUu
Mi4zLjMtNC01My5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJy
YXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
eworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJv
dG90eXBlLCAibGFzdEluZGV4T2YiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3Rv
dHlwZS5sYXN0SW5kZXhPZiAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAg
ICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUg
PT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC01My5qcwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTU0LmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTU0LmpzCShy
ZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjMtNC01NC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBA
QAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0K
LS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTU0
IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8x
NS4yLjMuMy00LTU0LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMg
KEFycmF5LnByb3RvdHlwZS5ldmVyeSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
ew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnBy
b3RvdHlwZSwgImV2ZXJ5Iik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBl
LmV2ZXJ5ICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2Mu
ZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1
ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00
LTU0IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMv
MTUuMi4zLjMtNC01NC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAo
QXJyYXkucHJvdG90eXBlLmV2ZXJ5KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewor
ICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90
eXBlLCAiZXZlcnkiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5ldmVy
eSAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJh
YmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAg
ICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7
CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC01NC5qcwpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuMy00LTU1LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTU1LmpzCShyZXZpc2lvbiAxOTk1NDkp
CisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4z
LjMtNC01NS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQot
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTU1IiwNCi0NCi1wYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTU1Lmpz
IiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0
dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlw
ZS5zb21lKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAic29tZSIp
Ow0KLSAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5zb21lICYmDQotICAgICAg
ZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFs
c2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4g
dHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsN
Ci0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0g
fQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAor
Ly8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQK
Ky8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgor
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTU1IiwKKworcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01NS5qcyIs
CisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5z
IGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLnNv
bWUpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJzb21lIik7CisgIGlm
IChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUuc29tZSAmJgorICAgICAgZGVzYy53cml0
YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAg
ICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQor
IH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlz
dHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjMtNC01NS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAg
KzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTU2LmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuMy00LTU2LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC01Ni5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
DQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQot
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
DQotaWQ6ICIxNS4yLjMuMy00LTU2IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTU2LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjog
Ik9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1
bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoKSIsDQotDQotdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAiZm9yRWFjaCIpOw0KLSAgaWYgKGRlc2Mu
dmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5mb3JFYWNoICYmDQotICAgICAgZGVzYy53cml0YWJs
ZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAg
ICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0N
Ci0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBm
bkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTU2IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01Ni5qcyIsCisKK2Rlc2NyaXB0
aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBm
b3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLmZvckVhY2gpIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJmb3JFYWNoIik7CisgIGlmIChkZXNj
LnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAmJgorICAgICAgZGVzYy53cml0YWJs
ZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAg
ZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0s
CisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMo
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjMtNC01Ni5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTU3LmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMy00LTU3LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC01Ny5qcwkod29ya2luZyBjb3B5
KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
DQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQot
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQot
aWQ6ICIxNS4yLjMuMy00LTU3IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4y
LzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTU3LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0
aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5tYXApIiwNCi0NCi10ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJtYXAiKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBB
cnJheS5wcm90b3R5cGUubWFwICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0K
LSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3Vy
YWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6
ICIxNS4yLjMuMy00LTU3IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4y
LjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01Ny5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9u
IGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLm1hcCkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFy
cmF5LnByb3RvdHlwZSwgIm1hcCIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90
eXBlLm1hcCAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5l
bnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUp
IHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC01Ny5qcwpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMy00LTU4LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTU4LmpzCShyZXZpc2lvbiAx
OTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjMtNC01OC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYN
Ci0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0K
LUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTU4IiwNCi0NCi1w
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00
LTU4LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnBy
b3RvdHlwZS5maWx0ZXIpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZh
ciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUs
ICJmaWx0ZXIiKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUuZmlsdGVy
ICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVy
YWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0K
LSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
Ly8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTU4IiwK
KworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4z
LjMtNC01OC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXku
cHJvdG90eXBlLmZpbHRlcikiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFy
IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwg
ImZpbHRlciIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLmZpbHRlciAm
JgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxl
ID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICBy
ZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
eworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7Cisg
fQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC01OC5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMy00LTU5LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTU5LmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMt
NC01OS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTU5IiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTU5LmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJu
cyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5y
ZWR1Y2UpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0g
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJyZWR1Y2Ui
KTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUucmVkdWNlICYmDQotICAg
ICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0g
ZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1
cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsN
Ci0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTU5IiwKKworcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01OS5q
cyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1
cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBl
LnJlZHVjZSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInJlZHVjZSIp
OworICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAmJgorICAgICAg
ZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxz
ZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1
ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1
cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjMtNC01OS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTYuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy4zLTQtNi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNi5qcwkod29y
a2luZyBjb3B5KQpAQCAtMSw0MyArMSw0MyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0K
LS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTYiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtNi5qcyIsDQotDQotZGVzY3JpcHRp
b246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZv
ciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChHbG9iYWwucGFyc2VGbG9hdCkiLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2JqZWN0KCk7
DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAi
cGFyc2VGbG9hdCIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IGdsb2JhbC5wYXJzZUZsb2F0ICYm
DQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJs
ZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAg
ICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKTsNCi0gfQ0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTYiLAorCitwYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTYuanMi
LAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJu
cyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEdsb2JhbC5wYXJzZUZsb2F0
KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZ2xvYmFsID0gZm5HbG9i
YWxPYmplY3QoKTsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KGdsb2JhbCwgInBhcnNlRmxvYXQiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IGdsb2JhbC5wYXJz
ZUZsb2F0ICYmCisgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVu
dW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkg
eworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKTsKKyB9CiB9KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjMtNC02LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAj
IworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNjAuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4zLTQtNjAuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTYwLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IN
Ci0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0v
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1p
ZDogIjE1LjIuMy4zLTQtNjAiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIv
MTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtNjAuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rp
b25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0KSIsDQotDQotdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAicmVkdWNlUmlnaHQiKTsNCi0gIGlmIChk
ZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgJiYNCi0gICAgICBkZXNj
LndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAm
Jg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVl
Ow0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAg
cmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQot
fSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8g
CisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwK
Ky8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtNjAiLAorCitwYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTYwLmpzIiwKKwor
ZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0
YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChBcnJheS5wcm90b3R5cGUucmVkdWNl
UmlnaHQpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJyZWR1Y2VSaWdo
dCIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0ICYm
CisgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUg
PT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJl
dHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9
Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTYwLmpzCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
b2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4zLTQtNjEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNjEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTYxLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0K
LS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
Uw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtNjEiLA0KLQ0KLXBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtNjEuanMiLA0K
LQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5z
IGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLmZyb21DaGFyQ29k
ZSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZywgImZyb21DaGFyQ29kZSIpOw0KLSAg
aWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5mcm9tQ2hhckNvZGUgJiYNCi0gICAgICBkZXNjLndy
aXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0K
LSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0K
LSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0
dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7
DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisv
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtNjEiLAorCitwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTYxLmpzIiwKKworZGVz
Y3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBk
ZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChTdHJpbmcuZnJvbUNoYXJDb2RlKSIsCisK
K3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLCAiZnJvbUNoYXJDb2RlIik7CisgIGlmIChkZXNjLnZh
bHVlID09PSBTdHJpbmcuZnJvbUNoYXJDb2RlICYmCisgICAgICBkZXNjLndyaXRhYmxlID09PSB0
cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNv
bmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTYxLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNjIuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4z
LTQtNjIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTYyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4N
Ci0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1
LjIuMy4zLTQtNjIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4z
LzE1LjIuMy4zLzE1LjIuMy4zLTQtNjIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9u
IGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS5jb25zdHJ1Y3RvcikiLA0KLQ0KLXRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOw0KLSAgaWYgKGRlc2Mu
dmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCi0gICAgICBkZXNjLndy
aXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0K
LSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0K
LSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0
dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7
DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisv
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtNjIiLAorCitwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTYyLmpzIiwKKworZGVz
Y3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBk
ZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChTdHJpbmcucHJvdG90eXBlLmNvbnN0cnVj
dG9yKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgImNvbnN0cnVjdG9y
Iik7CisgIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLmNvbnN0cnVjdG9yICYm
CisgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUg
PT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJl
dHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9
Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTYyLmpzCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
b2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4zLTQtNjMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNjMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTYzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0K
LS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
Uw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtNjMiLA0KLQ0KLXBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtNjMuanMiLA0K
LQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5z
IGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS5j
aGFyQXQpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0g
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAiY2hhckF0
Iik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQgJiYNCi0g
ICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09
PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJl
dHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ip
Ow0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisv
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisv
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtNjMiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTYz
LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJl
dHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChTdHJpbmcucHJvdG90
eXBlLmNoYXJBdCkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2Mg
PSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJjaGFy
QXQiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUuY2hhckF0ICYmCisg
ICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09
IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVy
biB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7Cisg
IHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTYzLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My4zLTQtNjQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNjQuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTY0
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtNjQiLA0KLQ0KLXBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtNjQuanMiLA0KLQ0K
LWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRh
dGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS5jaGFy
Q29kZUF0KSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgImNoYXJD
b2RlQXQiKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2Rl
QXQgJiYNCi0gICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVt
ZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7
DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtNjQi
LAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4y
LjMuMy00LTY0LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChTdHJp
bmcucHJvdG90eXBlLmNoYXJDb2RlQXQpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJv
dG90eXBlLCAiY2hhckNvZGVBdCIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3Rv
dHlwZS5jaGFyQ29kZUF0ICYmCisgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAg
ICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9
PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTY0LmpzCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNjUuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNjUuanMJKHJl
dmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMy00LTY1LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
DQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtNjUi
LA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1
LjIuMy4zLTQtNjUuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAo
U3RyaW5nLnByb3RvdHlwZS5jb25jYXQpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcu
cHJvdG90eXBlLCAiY29uY2F0Iik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3Rv
dHlwZS5jb25jYXQgJiYNCi0gICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAg
ZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09
PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisv
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIu
My4zLTQtNjUiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4y
LjMuMy8xNS4yLjMuMy00LTY1LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQt
aW5zIChTdHJpbmcucHJvdG90eXBlLmNvbmNhdCkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmlu
Zy5wcm90b3R5cGUsICJjb25jYXQiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90
b3R5cGUuY29uY2F0ICYmCisgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICBk
ZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0g
dHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTY1LmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNjYuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNjYuanMJKHJldmlz
aW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMy00LTY2LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtNjYiLA0K
LQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIu
My4zLTQtNjYuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3Ry
aW5nLnByb3RvdHlwZS5pbmRleE9mKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnBy
b3RvdHlwZSwgImluZGV4T2YiKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90
eXBlLmluZGV4T2YgJiYNCi0gICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAg
ZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2MuY29uZmlndXJhYmxlID09
PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisv
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIu
My4zLTQtNjYiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4y
LjMuMy8xNS4yLjMuMy00LTY2LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQt
aW5zIChTdHJpbmcucHJvdG90eXBlLmluZGV4T2YpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJp
bmcucHJvdG90eXBlLCAiaW5kZXhPZiIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnBy
b3RvdHlwZS5pbmRleE9mICYmCisgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmCisgICAg
ICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9
PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTY2LmpzCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNjcuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNjcuanMJKHJl
dmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMy00LTY3LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
DQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtNjci
LA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1
LjIuMy4zLTQtNjcuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAo
U3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0
cmluZy5wcm90b3R5cGUsICJsYXN0SW5kZXhPZiIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IFN0
cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YgJiYNCi0gICAgICBkZXNjLndyaXRhYmxlID09PSB0
cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGRlc2Mu
Y29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0K
LQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3Rz
KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7CitpZDogIjE1LjIuMy4zLTQtNjciLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTY3LmpzIiwKKworZGVzY3JpcHRpb246ICJP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5j
dGlvbnMgb24gYnVpbHQtaW5zIChTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKSIsCisKK3Rl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgImxhc3RJbmRleE9mIik7CisgIGlmIChk
ZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mICYmCisgICAgICBkZXNj
LndyaXRhYmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYm
CisgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOwor
ICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBm
bkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMy00LTY3LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMg
LTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNjgu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4zLTQtNjguanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTY4LmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQot
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsNCi1pZDogIjE1LjIuMy4zLTQtNjgiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtNjguanMiLA0KLQ0KLWRlc2NyaXB0
aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBm
b3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS5tYXRjaCkiLA0KLQ0K
LXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJtYXRjaCIpOw0KLSAgaWYgKGRl
c2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUubWF0Y2ggJiYNCi0gICAgICBkZXNjLndyaXRh
YmxlID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAg
ICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAg
fQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJu
IGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQor
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtNjgiLAorCitwYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTY4LmpzIiwKKworZGVzY3Jp
cHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNj
IGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChTdHJpbmcucHJvdG90eXBlLm1hdGNoKSIsCisK
K3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgIm1hdGNoIik7CisgIGlmIChkZXNj
LnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLm1hdGNoICYmCisgICAgICBkZXNjLndyaXRhYmxl
ID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBk
ZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwK
KworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMy00LTY4LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAj
IworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNjkuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4zLTQtNjkuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTY5LmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IN
Ci0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0v
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1p
ZDogIjE1LjIuMy4zLTQtNjkiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIv
MTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtNjkuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rp
b25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlKSIsDQotDQotdGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgInJlcGxhY2UiKTsNCi0gIGlmIChkZXNjLnZh
bHVlID09PSBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgJiYNCi0gICAgICBkZXNjLndyaXRhYmxl
ID09PSB0cnVlICYmDQotICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KLSAgICAg
IGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0K
LSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZu
RXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
Ky8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7CitpZDogIjE1LjIuMy4zLTQtNjkiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTY5LmpzIiwKKworZGVzY3JpcHRp
b246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZv
ciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UpIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAicmVwbGFjZSIpOworICBpZiAoZGVz
Yy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlICYmCisgICAgICBkZXNjLndyaXRh
YmxlID09PSB0cnVlICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAg
ICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9Cisg
fSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0
cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMy00LTY5LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCAr
MSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNy5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjMtNC03LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC03LmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDQzICsxLDQzIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IN
Ci0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0v
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1p
ZDogIjE1LjIuMy4zLTQtNyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8x
NS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9u
cyBvbiBidWlsdC1pbnMgKEdsb2JhbC5pc05hTikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgew0KLSAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2JqZWN0KCk7DQotICB2YXIgZGVzYyA9
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAgImlzTmFOIik7DQotICBp
ZiAoZGVzYy52YWx1ZSA9PT0gZ2xvYmFsLmlzTmFOICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9
PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBk
ZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0g
fSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4
aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KKy8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
eworaWQ6ICIxNS4yLjMuMy00LTciLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4y
LzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTcuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9u
cyBvbiBidWlsdC1pbnMgKEdsb2JhbC5pc05hTikiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKyAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2JqZWN0KCk7CisgIHZhciBkZXNjID0gT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICAiaXNOYU4iKTsKKyAgaWYgKGRl
c2MudmFsdWUgPT09IGdsb2JhbC5pc05hTiAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1
ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25m
aWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQogfSk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtNy5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMy00LTcwLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTcwLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC03
MC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTcwIiwNCi0NCi1wYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTcwLmpzIiwNCi0N
Ci1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBk
YXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuc2Vh
cmNoKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgInNlYXJjaCIp
Ow0KLSAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoICYmDQotICAg
ICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0g
ZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1
cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsN
Ci0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTcwIiwKKworcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03MC5q
cyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1
cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlw
ZS5zZWFyY2gpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0g
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAic2VhcmNo
Iik7CisgIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAmJgorICAg
ICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBm
YWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4g
dHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICBy
ZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC03MC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
My00LTcxLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTcxLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC03MS5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTcxIiwNCi0NCi1wYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTcxLmpzIiwNCi0NCi1k
ZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRh
IGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuc2xpY2Up
IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAic2xpY2UiKTsNCi0g
IGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLnNsaWNlICYmDQotICAgICAgZGVz
Yy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2Ug
JiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1
ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0g
IHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTcxIiwKKworcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03MS5qcyIsCisK
K2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRh
dGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS5zbGlj
ZSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJzbGljZSIpOworICBp
ZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS5zbGljZSAmJgorICAgICAgZGVzYy53
cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgor
ICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAg
fQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5F
eGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjMtNC03MS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w
LDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTcyLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuMy00LTcyLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC03Mi5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
DQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7DQotaWQ6ICIxNS4yLjMuMy00LTcyIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTcyLmpzIiwNCi0NCi1kZXNjcmlwdGlv
bjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9y
IGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuc3BsaXQpIiwNCi0NCi10
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAic3BsaXQiKTsNCi0gIGlmIChkZXNj
LnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLnNwbGl0ICYmDQotICAgICAgZGVzYy53cml0YWJs
ZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAg
ICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0N
Ci0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBm
bkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTcyIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03Mi5qcyIsCisKK2Rlc2NyaXB0
aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBm
b3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS5zcGxpdCkiLAorCit0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJzcGxpdCIpOworICBpZiAoZGVzYy52
YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdCAmJgorICAgICAgZGVzYy53cml0YWJsZSA9
PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVz
Yy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisK
K3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4z
LjMtNC03Mi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMK
K0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTczLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMy00LTczLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC03My5qcwkod29ya2luZyBjb3B5KQpA
QCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQot
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6
ICIxNS4yLjMuMy00LTczIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1
LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTczLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9u
cyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nKSIsDQotDQotdGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgInN1YnN0cmluZyIpOw0KLSAgaWYgKGRlc2Mu
dmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nICYmDQotICAgICAgZGVzYy53cml0
YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0g
ICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0g
IH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVy
biBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0K
Ky8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTczIiwKKworcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03My5qcyIsCisKK2Rlc2Ny
aXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVz
YyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcp
IiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAic3Vic3RyaW5nIik7Cisg
IGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAmJgorICAgICAg
ZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxz
ZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1
ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1
cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjMtNC03My5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTc0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTc0LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC03NC5qcwko
d29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTc0IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTc0LmpzIiwNCi0NCi1kZXNj
cmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRl
c2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuc3Vic3RyKSIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgInN1YnN0ciIpOw0KLSAg
aWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyICYmDQotICAgICAgZGVz
Yy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2Ug
JiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1
ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0g
IHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTc0IiwKKworcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03NC5qcyIsCisK
K2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRh
dGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS5zdWJz
dHIpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAic3Vic3RyIik7Cisg
IGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLnN1YnN0ciAmJgorICAgICAgZGVz
Yy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAm
JgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsK
KyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4g
Zm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjMtNC03NC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMj
IC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTc1
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMy00LTc1LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC03NS5qcwkod29y
a2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0K
LS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTc1IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTc1LmpzIiwNCi0NCi1kZXNjcmlw
dGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2Mg
Zm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2Up
IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAidG9Mb3dlckNhc2Ui
KTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlICYm
DQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJs
ZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAg
ICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8v
IAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTc1IiwKKwor
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMt
NC03NS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
ciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnBy
b3RvdHlwZS50b0xvd2VyQ2FzZSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAg
dmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5
cGUsICJ0b0xvd2VyQ2FzZSIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlw
ZS50b0xvd2VyQ2FzZSAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAg
ZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09
IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC03NS5qcwpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTc2LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTc2LmpzCShyZXZp
c2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjMtNC03Ni5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAot
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0K
LQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTc2IiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4y
LjMuMy00LTc2LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0
cmluZy5wcm90b3R5cGUudG9TdHJpbmcpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcu
cHJvdG90eXBlLCAidG9TdHJpbmciKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJv
dG90eXBlLnRvU3RyaW5nICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAg
ICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJs
ZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisv
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIx
NS4yLjMuMy00LTc2IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMv
MTUuMi4zLjMvMTUuMi4zLjMtNC03Ni5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1
aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZykiLAorCit0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KFN0cmluZy5wcm90b3R5cGUsICJ0b1N0cmluZyIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gU3Ry
aW5nLnByb3RvdHlwZS50b1N0cmluZyAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAm
JgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1
cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC03Ni5q
cwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTc3LmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTc3
LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC03Ny5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiAr
MSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQot
Ly8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
DQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8N
Ci0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8v
IA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMu
My00LTc3IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4y
LjMuMy8xNS4yLjMuMy00LTc3LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWls
dC1pbnMgKFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UpIiwNCi0NCi10ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihTdHJpbmcucHJvdG90eXBlLCAidG9VcHBlckNhc2UiKTsNCi0gIGlmIChkZXNjLnZhbHVl
ID09PSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlICYmDQotICAgICAgZGVzYy53cml0YWJs
ZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAg
ICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0N
Ci0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBm
bkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTc3IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03Ny5qcyIsCisKK2Rlc2NyaXB0
aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBm
b3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZSki
LAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJ0b1VwcGVyQ2FzZSIpOwor
ICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZSAmJgorICAg
ICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBm
YWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4g
dHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICBy
ZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC03Ny5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
My00LTc4LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTc4LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC03OC5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTc4IiwNCi0NCi1wYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTc4LmpzIiwNCi0NCi1k
ZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRh
IGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUudmFsdWVP
ZikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJ2YWx1ZU9mIik7
DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS52YWx1ZU9mICYmDQotICAg
ICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0g
ZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1
cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsN
Ci0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTc4IiwKKworcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03OC5q
cyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1
cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlw
ZS52YWx1ZU9mKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgInZhbHVl
T2YiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUudmFsdWVPZiAmJgor
ICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09
PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1
cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewor
ICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQor
fSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC03OC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuMy00LTc5LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTc5LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC03
OS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTc5IiwNCi0NCi1wYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTc5LmpzIiwNCi0N
Ci1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBk
YXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUudG9M
b2NhbGVMb3dlckNhc2UpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZh
ciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBl
LCAidG9Mb2NhbGVMb3dlckNhc2UiKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJv
dG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1
ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNv
bmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0N
Ci1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
eworaWQ6ICIxNS4yLjMuMy00LTc5IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
Mi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03OS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rp
b25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZSkiLAor
Cit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJ0b0xvY2FsZUxvd2VyQ2FzZSIp
OworICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2Fz
ZSAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJh
YmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAg
ICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7
CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC03OS5qcwpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuMy00LTguanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtOC5qcwkocmV2aXNpb24gMTk5NTQ5KQor
KysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4z
LTQtOC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MyArMSw0MyBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTgiLA0KLQ0KLXBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtOC5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMg
ZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChHbG9iYWwuaXNGaW5pdGUpIiwN
Ci0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBnbG9iYWwgPSBmbkdsb2Jh
bE9iamVjdCgpOw0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KGdsb2JhbCwgICJpc0Zpbml0ZSIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IGdsb2JhbC5pc0Zp
bml0ZSAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVu
dW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUp
IHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcik7DQotIH0NCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8v
LyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC04IiwKKwor
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMt
NC04LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
IHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChHbG9iYWwuaXNG
aW5pdGUpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBnbG9iYWwgPSBm
bkdsb2JhbE9iamVjdCgpOworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoZ2xvYmFsLCAgImlzRmluaXRlIik7CisgIGlmIChkZXNjLnZhbHVlID09PSBnbG9iYWwu
aXNGaW5pdGUgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2Mu
ZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVl
KSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IpOworIH0KIH0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMy00LTguanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsx
ICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC04MC5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjMtNC04MC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtODAuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LWlkOiAiMTUuMi4zLjMtNC04MCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
Mi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04MC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5j
dGlvbnMgb24gYnVpbHQtaW5zIChTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKSIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgInRvTG9jYWxlVXBwZXJD
YXNlIik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVw
cGVyQ2FzZSAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNj
LmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRy
dWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisv
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMt
NC04MCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4z
LzE1LjIuMy4zLTQtODAuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMg
KFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UpIiwKKwordGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihTdHJpbmcucHJvdG90eXBlLCAidG9Mb2NhbGVVcHBlckNhc2UiKTsKKyAgaWYgKGRlc2MudmFs
dWUgPT09IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UgJiYKKyAgICAgIGRlc2Mu
d3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYK
KyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7Cisg
IH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZu
RXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4zLTQtODAuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC04MS5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjMtNC04MS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtODEuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggew0KLWlkOiAiMTUuMi4zLjMtNC04MSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04MS5qcyIsDQotDQotZGVzY3JpcHRp
b246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZv
ciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUp
IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAibG9jYWxlQ29tcGFy
ZSIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFy
ZSAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1l
cmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsN
Ci0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC04MSIs
CisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIu
My4zLTQtODEuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmlu
Zy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5w
cm90b3R5cGUsICJsb2NhbGVDb21wYXJlIik7CisgIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcu
cHJvdG90eXBlLmxvY2FsZUNvbXBhcmUgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUg
JiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmln
dXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtODEu
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC04Mi5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC04
Mi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtODIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIg
KzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4z
LjMtNC04MiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUu
Mi4zLjMvMTUuMi4zLjMtNC04Mi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVp
bHQtaW5zIChTdHJpbmcucHJvdG90eXBlLnRyaW0pIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihT
dHJpbmcucHJvdG90eXBlLCAidHJpbSIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5w
cm90b3R5cGUudHJpbSAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAg
ICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUg
PT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MK
Ky8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUu
Mi4zLjMtNC04MiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1
LjIuMy4zLzE1LjIuMy4zLTQtODIuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWls
dC1pbnMgKFN0cmluZy5wcm90b3R5cGUudHJpbSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmlu
Zy5wcm90b3R5cGUsICJ0cmltIik7CisgIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90
eXBlLnRyaW0gJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2Mu
ZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVl
KSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtODIuanMKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjMtNC04NC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC04NC5qcwkocmV2aXNpb24g
MTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4zLTQtODQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
DQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0N
Ci1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC04NCIsDQotDQot
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMt
NC04NC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChCb29sZWFu
LnByb3RvdHlwZS5jb25zdHJ1Y3RvcikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
ew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEJvb2xlYW4u
cHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBCb29sZWFu
LnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUg
JiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25m
aWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQot
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsK
K2lkOiAiMTUuMi4zLjMtNC04NCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIv
MTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtODQuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9u
cyBvbiBidWlsdC1pbnMgKEJvb2xlYW4ucHJvdG90eXBlLmNvbnN0cnVjdG9yKSIsCisKK3Rlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoQm9vbGVhbi5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOworICBpZiAoZGVz
Yy52YWx1ZSA9PT0gQm9vbGVhbi5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYKKyAgICAgIGRlc2Mu
d3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYK
KyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7Cisg
IH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZu
RXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy4zLTQtODQuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC04NS5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjMtNC04NS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtODUuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggew0KLWlkOiAiMTUuMi4zLjMtNC04NSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04NS5qcyIsDQotDQotZGVzY3JpcHRp
b246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZv
ciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZykiLA0K
LQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKEJvb2xlYW4ucHJvdG90eXBlLCAidG9TdHJpbmciKTsNCi0g
IGlmIChkZXNjLnZhbHVlID09PSBCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZyAmJg0KLSAgICAg
IGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZh
bHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJu
IHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQot
IH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAK
Ky8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
CisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYK
Ky8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC04NSIsCisKK3BhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtODUuanMi
LAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJu
cyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEJvb2xlYW4ucHJvdG90eXBl
LnRvU3RyaW5nKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQm9vbGVhbi5wcm90b3R5cGUsICJ0b1N0
cmluZyIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcg
JiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJs
ZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAg
cmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOwor
IH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtODUuanMKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjMtNC04Ni5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC04Ni5qcwkocmV2aXNpb24gMTk5NTQ5KQor
KysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4z
LTQtODYuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
DQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC04NiIsDQotDQotcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04Ni5qcyIs
DQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVy
bnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChCb29sZWFuLnByb3RvdHlw
ZS52YWx1ZU9mKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVz
YyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQm9vbGVhbi5wcm90b3R5cGUsICJ2
YWx1ZU9mIik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVP
ZiAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1l
cmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsN
Ci0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC04NiIs
CisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIu
My4zLTQtODYuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEJvb2xl
YW4ucHJvdG90eXBlLnZhbHVlT2YpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7Cisg
IHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihCb29sZWFuLnByb3Rv
dHlwZSwgInZhbHVlT2YiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IEJvb2xlYW4ucHJvdG90eXBl
LnZhbHVlT2YgJiYKKyAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2Mu
ZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVl
KSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtODYuanMKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjMtNC04OC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC04OC5qcwkocmV2aXNpb24g
MTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy4zLTQtODguanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
DQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0N
Ci1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjMtNC04OCIsDQotDQot
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMt
NC04OC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChOdW1iZXIu
cHJvdG90eXBlLmNvbnN0cnVjdG9yKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLnBy
b3RvdHlwZSwgImNvbnN0cnVjdG9yIik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gTnVtYmVyLnBy
b3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KLSAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYN
Ci0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1
cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTUuMi4zLjMtNC04OCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUu
Mi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtODguanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBv
biBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUuY29uc3RydWN0b3IpIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihOdW1iZXIucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsKKyAgaWYgKGRlc2MudmFs
dWUgPT09IE51bWJlci5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYKKyAgICAgIGRlc2Mud3JpdGFi
bGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYKKyAgICAg
IGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9
LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3Rz
KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy4zLTQtODguanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsx
ICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC04OS5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjMtNC04OS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQtODkuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LWlkOiAiMTUuMi4zLjMtNC04OSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
Mi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04OS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5j
dGlvbnMgb24gYnVpbHQtaW5zIChOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKSIsDQotDQotdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoTnVtYmVyLnByb3RvdHlwZSwgInRvU3RyaW5nIik7DQotICBpZiAoZGVz
Yy52YWx1ZSA9PT0gTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyAmJg0KLSAgICAgIGRlc2Mud3Jp
dGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQot
ICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQot
ICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1
cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQotIH0NCi19KTsN
CisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC04OSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtODkuanMiLAorCitkZXNj
cmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRl
c2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcp
IiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihOdW1iZXIucHJvdG90eXBlLCAidG9TdHJpbmciKTsKKyAg
aWYgKGRlc2MudmFsdWUgPT09IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcgJiYKKyAgICAgIGRl
c2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2Ug
JiYKKyAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7
CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJu
IGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOworIH0KK30pOwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy4zLTQtODkuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQoj
IyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC05
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuMy00LTkuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTkuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDMgKzEsNDMgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggew0KLWlkOiAiMTUuMi4zLjMtNC05IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTkuanMiLA0KLQ0KLWRlc2NyaXB0aW9u
OiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3Ig
ZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLmRlY29kZVVSSSkiLA0KLQ0KLXRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2JqZWN0KCk7DQot
ICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAiZGVj
b2RlVVJJIik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gZ2xvYmFsLmRlY29kZVVSSSAmJg0KLSAg
ICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09
IGZhbHNlICYmDQotICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCi0gICAgcmV0
dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7
DQotIH0NCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8v
LyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisv
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjMtNC05IiwKKworcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05LmpzIiwKKwor
ZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0
YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChHbG9iYWwuZGVjb2RlVVJJKSIsCisK
K3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZ2xvYmFsID0gZm5HbG9iYWxPYmpl
Y3QoKTsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2Jh
bCwgImRlY29kZVVSSSIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gZ2xvYmFsLmRlY29kZVVSSSAm
JgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxl
ID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICBy
ZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
eworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7Cisg
fQogfSk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy4zLTQt
OS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTkwLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTkwLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC05MC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0
MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
DQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQot
Ly8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4y
LjMuMy00LTkwIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8x
NS4yLjMuMy8xNS4yLjMuMy00LTkwLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBi
dWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcpIiwNCi0NCi10ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihOdW1iZXIucHJvdG90eXBlLCAidG9Mb2NhbGVTdHJpbmciKTsNCi0gIGlmIChk
ZXNjLnZhbHVlID09PSBOdW1iZXIucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nICYmDQotICAgICAg
ZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFs
c2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4g
dHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsN
Ci0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0g
fQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAor
Ly8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQK
Ky8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgor
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTkwIiwKKworcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05MC5qcyIs
CisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5z
IGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoTnVtYmVyLnByb3RvdHlwZS50
b0xvY2FsZVN0cmluZykiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGRl
c2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE51bWJlci5wcm90b3R5cGUsICJ0
b0xvY2FsZVN0cmluZyIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gTnVtYmVyLnByb3RvdHlwZS50
b0xvY2FsZVN0cmluZyAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAg
ZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09
IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC05MC5qcwpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTkxLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTkxLmpzCShyZXZp
c2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjMtNC05MS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAot
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0K
LQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTkxIiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4y
LjMuMy00LTkxLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE51
bWJlci5wcm90b3R5cGUudG9GaXhlZCkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
ew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE51bWJlci5w
cm90b3R5cGUsICJ0b0ZpeGVkIik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gTnVtYmVyLnByb3Rv
dHlwZS50b0ZpeGVkICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAg
IGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9
PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwor
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4y
LjMuMy00LTkxIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUu
Mi4zLjMvMTUuMi4zLjMtNC05MS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0
LWlucyAoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVt
YmVyLnByb3RvdHlwZSwgInRvRml4ZWQiKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IE51bWJlci5w
cm90b3R5cGUudG9GaXhlZCAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAg
ICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUg
PT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC05MS5qcwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTkyLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTkyLmpzCShy
ZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjMtNC05Mi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBA
QAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0K
LS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTky
IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8x
NS4yLjMuMy00LTkyLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMg
KE51bWJlci5wcm90b3R5cGUudG9FeHBvbmVudGlhbCkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KE51bWJlci5wcm90b3R5cGUsICJ0b0V4cG9uZW50aWFsIik7DQotICBpZiAoZGVzYy52YWx1ZSA9
PT0gTnVtYmVyLnByb3RvdHlwZS50b0V4cG9uZW50aWFsICYmDQotICAgICAgZGVzYy53cml0YWJs
ZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAg
ICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0N
Ci0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBm
bkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTkyIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05Mi5qcyIsCisKK2Rlc2NyaXB0
aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBm
b3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoTnVtYmVyLnByb3RvdHlwZS50b0V4cG9uZW50aWFs
KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLnByb3RvdHlwZSwgInRvRXhwb25lbnRpYWwi
KTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IE51bWJlci5wcm90b3R5cGUudG9FeHBvbmVudGlhbCAm
JgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxl
ID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICBy
ZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
eworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7Cisg
fQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC05Mi5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuMy00LTkzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTkzLmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMt
NC05My5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTkzIiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTkzLmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJu
cyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUu
dG9QcmVjaXNpb24pIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBk
ZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOdW1iZXIucHJvdG90eXBlLCAi
dG9QcmVjaXNpb24iKTsNCi0gIGlmIChkZXNjLnZhbHVlID09PSBOdW1iZXIucHJvdG90eXBlLnRv
UHJlY2lzaW9uICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRl
c2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0g
dHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IK
Ky8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMu
My00LTkzIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4z
LjMvMTUuMi4zLjMtNC05My5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlu
cyAoTnVtYmVyLnByb3RvdHlwZS50b1ByZWNpc2lvbikiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE51
bWJlci5wcm90b3R5cGUsICJ0b1ByZWNpc2lvbiIpOworICBpZiAoZGVzYy52YWx1ZSA9PT0gTnVt
YmVyLnByb3RvdHlwZS50b1ByZWNpc2lvbiAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1
ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25m
aWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC05
My5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTk0LmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTk0LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC05NC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0
MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
DQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQot
Ly8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4y
LjMuMy00LTk0IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8x
NS4yLjMuMy8xNS4yLjMuMy00LTk0LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBi
dWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUudmFsdWVPZikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKE51bWJlci5wcm90b3R5cGUsICJ2YWx1ZU9mIik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0g
TnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1
ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNv
bmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0N
Ci1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
eworaWQ6ICIxNS4yLjMuMy00LTk0IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
Mi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05NC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rp
b25zIG9uIGJ1aWx0LWlucyAoTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mKSIsCisKK3Rlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoTnVtYmVyLnByb3RvdHlwZSwgInZhbHVlT2YiKTsKKyAgaWYgKGRlc2MudmFsdWUg
PT09IE51bWJlci5wcm90b3R5cGUudmFsdWVPZiAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0g
dHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5j
b25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3By
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMt
NC05NC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xG
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTk2LmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
My00LTk2LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC05Ni5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIx
NS4yLjMuMy00LTk2IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIu
My8xNS4yLjMuMy8xNS4yLjMuMy00LTk2LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBv
biBidWlsdC1pbnMgKE1hdGguYWJzKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgImFi
cyIpOw0KLSAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGguYWJzICYmDQotICAgICAgZGVzYy53cml0
YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0g
ICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0g
IH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVy
biBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0K
Ky8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTk2IiwKKworcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05Ni5qcyIsCisKK2Rlc2Ny
aXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVz
YyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoTWF0aC5hYnMpIiwKKwordGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihNYXRoLCAiYWJzIik7CisgIGlmIChkZXNjLnZhbHVlID09PSBNYXRoLmFicyAmJgorICAg
ICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBm
YWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4g
dHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICBy
ZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC05Ni5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
My00LTk3LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTk3LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC05Ny5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTk3IiwNCi0NCi1wYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTk3LmpzIiwNCi0NCi1k
ZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRh
IGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGguYWNvcykiLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKE1hdGgsICJhY29zIik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5h
Y29zICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51
bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkg
ew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTk3
IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUu
Mi4zLjMtNC05Ny5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoTWF0
aC5hY29zKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgImFjb3MiKTsKKyAgaWYgKGRlc2Mu
dmFsdWUgPT09IE1hdGguYWNvcyAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgor
ICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFi
bGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC05Ny5qcwpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTk4LmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTk4Lmpz
CShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC05OC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0
MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8v
IA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQot
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0v
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0K
LS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00
LTk4IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMu
My8xNS4yLjMuMy00LTk4LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1p
bnMgKE1hdGguYXNpbikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFy
IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJhc2luIik7DQot
ICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5hc2luICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9
PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBk
ZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0g
fSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4
aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisv
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTk4IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05OC5qcyIsCisKK2Rlc2NyaXB0aW9u
OiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3Ig
ZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoTWF0aC5hc2luKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
TWF0aCwgImFzaW4iKTsKKyAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGguYXNpbiAmJgorICAgICAg
ZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxz
ZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1
ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1
cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjMtNC05OC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuMy00
LTk5LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuMy00LTk5LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC05OS5qcwko
d29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuMy00LTk5IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTk5LmpzIiwNCi0NCi1kZXNj
cmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRl
c2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGguYXRhbikiLA0KLQ0KLXRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKE1hdGgsICJhdGFuIik7DQotICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5hdGFu
ICYmDQotICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgIGRlc2MuZW51bWVy
YWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0K
LSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
Ly8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuMy00LTk5IiwK
KworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4z
LjMtNC05OS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoTWF0aC5h
dGFuKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZGVzYyA9IE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgImF0YW4iKTsKKyAgaWYgKGRlc2MudmFs
dWUgPT09IE1hdGguYXRhbiAmJgorICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJgorICAg
ICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUg
PT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjMtNC05OS5qcwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNC0wLTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy40LTAtMS5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy40LTAtMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzNCArMSwzNCBAQAot
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0K
LQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuNC0wLTEiLA0K
LQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy40LzE1LjIu
My40LTAtMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1l
cyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24iLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgew0KLSAgaWYgKHR5cGVvZihPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcykgPT09ICJmdW5j
dGlvbiIpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTUuMi4zLjQtMC0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
Mi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMC0xLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmpl
Y3QuZ2V0T3duUHJvcGVydHlOYW1lcyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24iLAorCit0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgaWYgKHR5cGVvZihPYmplY3QuZ2V0T3duUHJvcGVy
dHlOYW1lcykgPT09ICJmdW5jdGlvbiIpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0KK30p
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy40LTAtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
NC0wLTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy40LTAtMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy40LTAtMi5qcwko
d29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuNC0wLTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy40LzE1LjIuMy40LTAtMi5qcyIsDQotDQotZGVzY3Jp
cHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rp
b24gdGFraW5nIDEgcGFyYW1ldGVyIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsN
Ci0gIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcy5sZW5ndGggPT09IDEpIHsNCi0gICAg
cmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMpOw0K
LSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
CisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
CisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy40LTAtMiIsCisKK3BhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy40LzE1LjIuMy40LTAtMi5qcyIs
CisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgbXVzdCBleGlzdCBh
cyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlciIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgeworICBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMubGVuZ3RoID09PSAxKSB7
CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKTsK
KyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNC0wLTIuanMKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjQtMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjQtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy40LTEuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNDMgKzEsNDMgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjQtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMS5qcyIsDQotDQotZGVzY3JpcHRp
b246ICJPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUg
b2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7DQotICAgIHRyeSB7DQotICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoMCk7
DQotICAgIH0NCi0gICAgY2F0Y2ggKGUpIHsNCi0gICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVF
cnJvcikgew0KLSAgICAgICAgcmV0dXJuIHRydWU7DQotICAgICAgfQ0KLSAgICB9DQotIH0sDQot
DQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMo
T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7Citp
ZDogIjE1LjIuMy40LTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIu
My8xNS4yLjMuNC8xNS4yLjMuNC0xLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3du
UHJvcGVydHlOYW1lcyB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMg
bm90IE9iamVjdCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgIHRyeSB7Cisg
ICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcygwKTsKKyAgICB9CisgICAgY2F0Y2ggKGUp
IHsKKyAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7CisgICAgICAgIHJldHVybiB0
cnVlOworICAgICAgfQorICAgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKTsKKyB9
Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNC0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My40LTQtMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjQtNC0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjQtNC0yLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQwICsxLDQwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy40LTQtMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC0yLmpzIiwNCi0NCi1kZXNj
cmlwdGlvbjogIk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIHJldHVybnMgYXJyYXkgb2YgcHJv
cGVydHkgbmFtZXMgKE9iamVjdCkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LSAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKE9iamVjdCk7DQotICB2
YXIgZXhwUmVzdWx0ID0gWyJnZXRQcm90b3R5cGVPZiIsICJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IiLCAiZ2V0T3duUHJvcGVydHlOYW1lcyIsICJjcmVhdGUiLCAiZGVmaW5lUHJvcGVydHkiLCAi
ZGVmaW5lUHJvcGVydGllcyIsICJzZWFsIiwgImZyZWV6ZSIsICJwcmV2ZW50RXh0ZW5zaW9ucyIs
ICJpc1NlYWxlZCIsICJpc0Zyb3plbiIsICJpc0V4dGVuc2libGUiLCAia2V5cyIsICJwcm90b3R5
cGUiLCAibGVuZ3RoIl07DQotICB2YXIgZm91bmQ7DQotDQotICByZXR1cm4gYXJyYXlDb250YWlu
cyhyZXN1bHQsIGV4cFJlc3VsdCk7DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMp
Ow0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisv
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisv
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy40LTQtMiIsCisKK3BhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy40LzE1LjIuMy40LTQtMi5q
cyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgcmV0dXJucyBh
cnJheSBvZiBwcm9wZXJ0eSBuYW1lcyAoT2JqZWN0KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgeworICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoT2JqZWN0
KTsKKyAgdmFyIGV4cFJlc3VsdCA9IFsiZ2V0UHJvdG90eXBlT2YiLCAiZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yIiwgImdldE93blByb3BlcnR5TmFtZXMiLCAiY3JlYXRlIiwgImRlZmluZVByb3Bl
cnR5IiwgImRlZmluZVByb3BlcnRpZXMiLCAic2VhbCIsICJmcmVlemUiLCAicHJldmVudEV4dGVu
c2lvbnMiLCAiaXNTZWFsZWQiLCAiaXNGcm96ZW4iLCAiaXNFeHRlbnNpYmxlIiwgImtleXMiLCAi
cHJvdG90eXBlIiwgImxlbmd0aCJdOworICB2YXIgZm91bmQ7CisKKyAgcmV0dXJuIGFycmF5Q29u
dGFpbnMocmVzdWx0LCBleHBSZXN1bHQpOworIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMp
OworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy40LTQtMi5qcwpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuNC00LWItMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjQtNC1iLTEuanMJKHJldmlzaW9uIDE5OTU0
OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuNC00LWItMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NSArMSw0NSBAQAotLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
DQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0v
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuNC00LWItMSIsDQotDQotcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC1i
LTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSBk
ZXNjcmlwdG9yIG9mIHJlc3VsdGFudCBhcnJheSBpcyBhbGwgdHJ1ZSIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgb2JqID0gbmV3IE9iamVjdCgpOw0KLSAgb2JqLngg
PSAxOw0KLSAgb2JqLnkgPSAyOw0KLSAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0
eU5hbWVzKG9iaik7DQotICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IocmVzdWx0LCIwIik7DQotICBpZiAoZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlICYmDQotICAg
ICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLndyaXRhYmxlID09
PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Q
cm9wZXJ0eU5hbWVzKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuNC00
LWItMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy40
LzE1LjIuMy40LTQtYi0xLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZ2V0T3duUHJvcGVy
dHlOYW1lcyAtIGRlc2NyaXB0b3Igb2YgcmVzdWx0YW50IGFycmF5IGlzIGFsbCB0cnVlIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBvYmogPSBuZXcgT2JqZWN0KCk7Cisg
IG9iai54ID0gMTsKKyAgb2JqLnkgPSAyOworICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blBy
b3BlcnR5TmFtZXMob2JqKTsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKHJlc3VsdCwiMCIpOworICBpZiAoZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlICYmCisg
ICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy53cml0YWJsZSA9
PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVy
dHlOYW1lcyk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjQtNC1iLTEuanMKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjUtMC0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNS0wLTEuanMJKHJldmlzaW9u
IDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuNS0wLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzQgKzEsMzQgQEAKLS8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
DQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0N
Ci1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjUtMC0xIiwNCi0NCi1w
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS0w
LTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmNyZWF0ZSBtdXN0IGV4aXN0IGFzIGEg
ZnVuY3Rpb24iLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgaWYgKHR5cGVv
ZihPYmplY3QuY3JlYXRlKSA9PT0gImZ1bmN0aW9uIikgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0g
IH0NCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bwor
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAor
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKwor
CitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuNS0wLTEiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS0wLTEu
anMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5jcmVhdGUgbXVzdCBleGlzdCBhcyBhIGZ1bmN0
aW9uIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGlmICh0eXBlb2YoT2JqZWN0
LmNyZWF0ZSkgPT09ICJmdW5jdGlvbiIpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0KK30p
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy41LTAtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
NS0wLTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy41LTAtMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy41LTAtMi5qcwko
d29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuNS0wLTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy41LzE1LjIuMy41LTAtMi5qcyIsDQotDQotZGVzY3Jp
cHRpb246ICJPYmplY3QuY3JlYXRlIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMiBw
YXJhbWV0ZXJzIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmIChPYmpl
Y3QuY3JlYXRlLmxlbmd0aCA9PT0gMikgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwN
Ci0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0
cyhPYmplY3QuY3JlYXRlKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IK
Ky8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMu
NS0wLTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMu
NS8xNS4yLjMuNS0wLTIuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5jcmVhdGUgbXVzdCBl
eGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAyIHBhcmFtZXRlcnMiLAorCit0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsKKyAgaWYgKE9iamVjdC5jcmVhdGUubGVuZ3RoID09PSAyKSB7CisgICAg
cmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5jcmVhdGUpOworIH0KK30pOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy41LTAtMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAg
KzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNS0xLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4yLjMuNS0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjUtMS5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSw0MyArMSw0MyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIx
NS4yLjMuNS0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8x
NS4yLjMuNS8xNS4yLjMuNS0xLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5jcmVhdGUg
dGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3QiLA0K
LQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgICB0cnkgew0KLSAgICAgIE9iamVj
dC5jcmVhdGUoMCk7DQotICAgIH0NCi0gICAgY2F0Y2ggKGUpIHsNCi0gICAgICBpZiAoZSBpbnN0
YW5jZW9mIFR5cGVFcnJvcikgew0KLSAgICAgICAgcmV0dXJuIHRydWU7DQotICAgICAgfQ0KLSAg
ICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1
cm4gZm5FeGlzdHMoT2JqZWN0LmNyZWF0ZSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTUuMi4zLjUtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4z
LzE1LjIuMy41LzE1LjIuMy41LTEuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5jcmVhdGUg
dGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3QiLAor
Cit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgICB0cnkgeworICAgICAgT2JqZWN0LmNy
ZWF0ZSgwKTsKKyAgICB9CisgICAgY2F0Y2ggKGUpIHsKKyAgICAgIGlmIChlIGluc3RhbmNlb2Yg
VHlwZUVycm9yKSB7CisgICAgICAgIHJldHVybiB0cnVlOworICAgICAgfQorICAgIH0KKyB9LAor
CitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9i
amVjdC5jcmVhdGUpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy41LTEuanMKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjUtMi0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNS0yLTEuanMJKHJldmlzaW9u
IDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuNS0yLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDcgKzEsNDcgQEAKLS8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
DQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0v
Kg0KLWNyZWF0ZSBzZXRzIHRoZSBbW1Byb3RvdHlwZV1dIG9mIHRoZSBjcmVhdGVkIG9iamVjdCB0
byBmaXJzdCBwYXJhbWV0ZXIuDQotVGhpcyBjYW4gYmUgY2hlY2tlZCB1c2luZyBpc1Byb3RvdHlw
ZU9mLCBvciBnZXRQcm90b3R5cGVPZi4NCi0qLw0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7DQotaWQ6ICIxNS4yLjMuNS0yLTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjIvMTUuMi4zLzE1LjIuMy41LzE1LjIuMy41LTItMS5qcyIsDQotDQotZGVzY3JpcHRpb246
ICJPYmplY3QuY3JlYXRlIGNyZWF0ZXMgbmV3IE9iamVjdCIsDQotDQotdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7DQotICAgIGZ1bmN0aW9uIGJhc2UoKSB7fQ0KLSAgICB2YXIgYiA9IG5ldyBi
YXNlKCk7DQotICAgIHZhciBwcm9wID0gbmV3IE9iamVjdCgpOw0KLSAgICB2YXIgZCA9IE9iamVj
dC5jcmVhdGUoYik7DQotDQotICAgIGlmICh0eXBlb2YgZCA9PT0gJ29iamVjdCcpIHsNCi0gICAg
ICByZXR1cm4gdHJ1ZTsNCi0gICAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5jcmVhdGUpICYmIGZuRXhpc3Rz
KE9iamVjdC5nZXRQcm90b3R5cGVPZik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisKKy8qCitjcmVhdGUgc2V0cyB0aGUgW1tQcm90b3R5cGVdXSBv
ZiB0aGUgY3JlYXRlZCBvYmplY3QgdG8gZmlyc3QgcGFyYW1ldGVyLgorVGhpcyBjYW4gYmUgY2hl
Y2tlZCB1c2luZyBpc1Byb3RvdHlwZU9mLCBvciBnZXRQcm90b3R5cGVPZi4KKyovCisKK0VTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy41LTItMSIsCisKK3BhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy41LzE1LjIuMy41LTItMS5qcyIsCisK
K2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmNyZWF0ZSBjcmVhdGVzIG5ldyBPYmplY3QiLAorCit0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgICBmdW5jdGlvbiBiYXNlKCkge30KKyAgICB2YXIg
YiA9IG5ldyBiYXNlKCk7CisgICAgdmFyIHByb3AgPSBuZXcgT2JqZWN0KCk7CisgICAgdmFyIGQg
PSBPYmplY3QuY3JlYXRlKGIpOworCisgICAgaWYgKHR5cGVvZiBkID09PSAnb2JqZWN0Jykgewor
ICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmNyZWF0ZSkgJiYgZm5FeGlzdHMo
T2JqZWN0LmdldFByb3RvdHlwZU9mKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNS0yLTEu
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjUtMy0xLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNS0zLTEu
anMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuNS0zLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDcgKzEs
NDcgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8v
LyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0K
LS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQot
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyAN
Ci0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiANCi0NCi0vKg0KLWNyZWF0ZSBzZXRzIHRoZSBbW1Byb3RvdHlwZV1dIG9mIHRoZSBjcmVh
dGVkIG9iamVjdCB0byBmaXJzdCBwYXJhbWV0ZXIuDQotVGhpcyBjYW4gYmUgY2hlY2tlZCB1c2lu
ZyBpc1Byb3RvdHlwZU9mLCBvciBnZXRQcm90b3R5cGVPZi4NCi0qLw0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuNS0zLTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy41LzE1LjIuMy41LTMtMS5qcyIsDQotDQot
ZGVzY3JpcHRpb246ICJPYmplY3QuY3JlYXRlIHNldHMgdGhlIHByb3RvdHlwZSBvZiB0aGUgcGFz
c2VkLWluIG9iamVjdCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICAgIGZ1
bmN0aW9uIGJhc2UoKSB7fQ0KLSAgICB2YXIgYiA9IG5ldyBiYXNlKCk7DQotICAgIHZhciBkID0g
T2JqZWN0LmNyZWF0ZShiKTsNCi0NCi0gICAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihkKSA9
PT0gYiAmJg0KLSAgICAgICAgYi5pc1Byb3RvdHlwZU9mKGQpID09PSB0cnVlKSB7DQotICAgICAg
cmV0dXJuIHRydWU7DQotICAgIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuY3JlYXRlKSAmJiBmbkV4aXN0cyhP
YmplY3QuZ2V0UHJvdG90eXBlT2YpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
CisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorCisvKgorY3JlYXRlIHNldHMgdGhlIFtbUHJvdG90eXBlXV0gb2Yg
dGhlIGNyZWF0ZWQgb2JqZWN0IHRvIGZpcnN0IHBhcmFtZXRlci4KK1RoaXMgY2FuIGJlIGNoZWNr
ZWQgdXNpbmcgaXNQcm90b3R5cGVPZiwgb3IgZ2V0UHJvdG90eXBlT2YuCisqLworCitFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuNS0zLTEiLAorCitwYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS0zLTEuanMiLAorCitk
ZXNjcmlwdGlvbjogIk9iamVjdC5jcmVhdGUgc2V0cyB0aGUgcHJvdG90eXBlIG9mIHRoZSBwYXNz
ZWQtaW4gb2JqZWN0IiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgICAgZnVuY3Rp
b24gYmFzZSgpIHt9CisgICAgdmFyIGIgPSBuZXcgYmFzZSgpOworICAgIHZhciBkID0gT2JqZWN0
LmNyZWF0ZShiKTsKKworICAgIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoZCkgPT09IGIgJiYK
KyAgICAgICAgYi5pc1Byb3RvdHlwZU9mKGQpID09PSB0cnVlKSB7CisgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJl
dHVybiBmbkV4aXN0cyhPYmplY3QuY3JlYXRlKSAmJiBmbkV4aXN0cyhPYmplY3QuZ2V0UHJvdG90
eXBlT2YpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy41LTMtMS5qcwpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuNS00LTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy41LTQtMS5qcwkocmV2aXNpb24gMTk5
NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjIuMy41LTQtMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1MyArMSw1MyBAQAotLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
DQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0v
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLS8qDQot
Y3JlYXRlIHNldHMgdGhlIFtbUHJvdG90eXBlXV0gb2YgdGhlIGNyZWF0ZWQgb2JqZWN0IHRvIGZp
cnN0IHBhcmFtZXRlci4NCi1UaGlzIGNhbiBiZSBjaGVja2VkIHVzaW5nIGlzUHJvdG90eXBlT2Ys
IG9yIGdldFByb3RvdHlwZU9mLg0KLSovDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsN
Ci1pZDogIjE1LjIuMy41LTQtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
Mi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9i
amVjdC5jcmVhdGUgc2V0cyB0aGUgcHJvdG90eXBlIG9mIHRoZSBwYXNzZWQtaW4gb2JqZWN0IGFu
ZCBhZGRzIG5ldyBwcm9wZXJ0aWVzIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsN
Ci0gICAgZnVuY3Rpb24gYmFzZSgpIHt9DQotICAgIHZhciBiID0gbmV3IGJhc2UoKTsNCi0gICAg
dmFyIHByb3AgPSBuZXcgT2JqZWN0KCk7DQotICAgIHZhciBkID0gT2JqZWN0LmNyZWF0ZShiLHsg
IngiOiB7dmFsdWU6IHRydWUsd3JpdGFibGU6IGZhbHNlfSwNCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IHt2YWx1ZTogInN0ciIsd3JpdGFibGU6IGZhbHNlfSB9KTsNCi0NCi0g
ICAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihkKSA9PT0gYiAmJg0KLSAgICAgICAgYi5pc1By
b3RvdHlwZU9mKGQpID09PSB0cnVlICYmDQotICAgICAgICBkLnggPT09IHRydWUgJiYNCi0gICAg
ICAgIGQueSA9PT0gInN0ciIgJiYNCi0gICAgICAgIGIueCA9PT0gdW5kZWZpbmVkICYmDQotICAg
ICAgICBiLnkgPT09IHVuZGVmaW5lZCkgew0KLSAgICAgIHJldHVybiB0cnVlOw0KLSAgICB9DQot
IH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5F
eGlzdHMoT2JqZWN0LmNyZWF0ZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKTsN
Ci0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworLyoK
K2NyZWF0ZSBzZXRzIHRoZSBbW1Byb3RvdHlwZV1dIG9mIHRoZSBjcmVhdGVkIG9iamVjdCB0byBm
aXJzdCBwYXJhbWV0ZXIuCitUaGlzIGNhbiBiZSBjaGVja2VkIHVzaW5nIGlzUHJvdG90eXBlT2Ys
IG9yIGdldFByb3RvdHlwZU9mLgorKi8KKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTUuMi4zLjUtNC0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4y
LjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuY3Jl
YXRlIHNldHMgdGhlIHByb3RvdHlwZSBvZiB0aGUgcGFzc2VkLWluIG9iamVjdCBhbmQgYWRkcyBu
ZXcgcHJvcGVydGllcyIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgIGZ1bmN0
aW9uIGJhc2UoKSB7fQorICAgIHZhciBiID0gbmV3IGJhc2UoKTsKKyAgICB2YXIgcHJvcCA9IG5l
dyBPYmplY3QoKTsKKyAgICB2YXIgZCA9IE9iamVjdC5jcmVhdGUoYix7ICJ4Ijoge3ZhbHVlOiB0
cnVlLHdyaXRhYmxlOiBmYWxzZX0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieSI6
IHt2YWx1ZTogInN0ciIsd3JpdGFibGU6IGZhbHNlfSB9KTsKKworICAgIGlmIChPYmplY3QuZ2V0
UHJvdG90eXBlT2YoZCkgPT09IGIgJiYKKyAgICAgICAgYi5pc1Byb3RvdHlwZU9mKGQpID09PSB0
cnVlICYmCisgICAgICAgIGQueCA9PT0gdHJ1ZSAmJgorICAgICAgICBkLnkgPT09ICJzdHIiICYm
CisgICAgICAgIGIueCA9PT0gdW5kZWZpbmVkICYmCisgICAgICAgIGIueSA9PT0gdW5kZWZpbmVk
KSB7CisgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuY3JlYXRlKSAmJiBmbkV4
aXN0cyhPYmplY3QuZ2V0UHJvdG90eXBlT2YpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy41
LTQtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xG
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNi0wLTEuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy42
LTAtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy42LTAtMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwz
NSArMSwzNSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
DQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQot
Ly8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4y
LjMuNi0wLTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1
LjIuMy42LzE1LjIuMy42LTAtMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZGVmaW5l
UHJvcGVydHkgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsNCi0gIHZhciBmID0gT2JqZWN0LmRlZmluZVByb3BlcnR5Ow0KLSAgaWYgKHR5
cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuNi0wLTEiLAorCitwYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0wLTEuanMiLAorCitk
ZXNjcmlwdGlvbjogIk9iamVjdC5kZWZpbmVQcm9wZXJ0eSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rp
b24iLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGYgPSBPYmplY3QuZGVm
aW5lUHJvcGVydHk7CisgIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsKKyAgICByZXR1
cm4gdHJ1ZTsKKyAgfQorIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy42LTAtMS5qcwpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuNi0wLTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy42LTAtMi5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjIuMy42LTAtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0K
LQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuNi0wLTIiLA0KLQ0K
LXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42
LTAtMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZGVmaW5lUHJvcGVydHkgbXVzdCBl
eGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAzIHBhcmFtZXRlcnMiLA0KLQ0KLXRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgew0KLSAgaWYgKE9iamVjdC5kZWZpbmVQcm9wZXJ0eS5sZW5ndGggPT09
IDMpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3Bl
cnR5KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8v
IAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuNi0wLTIiLAorCitw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0w
LTIuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5kZWZpbmVQcm9wZXJ0eSBtdXN0IGV4aXN0
IGFzIGEgZnVuY3Rpb24gdGFraW5nIDMgcGFyYW1ldGVycyIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeworICBpZiAoT2JqZWN0LmRlZmluZVByb3BlcnR5Lmxlbmd0aCA9PT0gMykgewor
ICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOworIH0KK30p
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy42LTAtMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
Ni0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4yLjMuNi0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjYtMS5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMSw0MyArMSw0MyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
DQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7DQotaWQ6ICIxNS4yLjMuNi0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0xLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9i
amVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFy
YW0gaXMgbm90IE9iamVjdCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICAg
IHRyeSB7DQotICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRydWUsICJmb28iLCB7fSk7DQot
ICAgIH0NCi0gICAgY2F0Y2ggKGUpIHsNCi0gICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJv
cikgew0KLSAgICAgICAgcmV0dXJuIHRydWU7DQotICAgICAgfQ0KLSAgICB9DQotIH0sDQotDQot
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2Jq
ZWN0LmRlZmluZVByb3BlcnR5KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwor
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4y
LjMuNi0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4z
LjYvMTUuMi4zLjYtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmRlZmluZVByb3BlcnR5
IHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0IiwK
KwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgICAgdHJ5IHsKKyAgICAgIE9iamVjdC5k
ZWZpbmVQcm9wZXJ0eSh0cnVlLCAiZm9vIiwge30pOworICAgIH0KKyAgICBjYXRjaCAoZSkgewor
ICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsKKyAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgICB9CisgICAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
eworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKKyB9Cit9KTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuNi0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMg
LTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy42LTMtMS5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjYtMy0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjYtMy0xLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDU1ICsxLDU1IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
Ci0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotLyoNCi1UaGUgYWJ0cmFjdCBvcGVyYXRpb24g
VG9Qcm9wZXJ0eURlc2NyaXB0b3IgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KLWludG8gYSBwcm9w
ZXJ0eSBkZXNjLiBTdGVwIDEwIG9mIFRvUHJvcGVydHlEZXNjcmlwdG9yIHRocm93cyBhIFR5cGVF
cnJvcg0KLWlmIHRoZSBwcm9wZXJ0eSBkZXNjIGVuZHMgdXAgaGF2aW5nIGEgbWl4IG9mIGFjY2Vz
c29yIGFuZCBkYXRhIHByb3BlcnR5IGVsZW1lbnRzLg0KLSovDQotDQotRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy42LTMtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xLmpzIiwNCi0NCi1kZXNj
cmlwdGlvbjogIk9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGRlc2Mg
aGFzICdnZXQnIGFuZCAndmFsdWUnIHByZXNlbnQiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgew0KLSAgICB2YXIgbyA9IHt9Ow0KLQ0KLSAgICAvLyBkdW1teSBnZXR0ZXINCi0gICAg
dmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDE7IH0NCi0gICAgdmFyIGRlc2MgPSB7
IGdldDogZ2V0dGVyLCB2YWx1ZTogMTAxfTsNCi0gIA0KLSAgICB0cnkgew0KLSAgICAgIE9iamVj
dC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQotICAgIH0NCi0gICAgY2F0Y2ggKGUp
IHsNCi0gICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KLSAgICAgICAgICAoby5o
YXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgew0KLSAgICAgICAgcmV0dXJuIHRydWU7
DQotICAgICAgfQ0KLSAgICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsNCi0gfQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworLyoKK1RoZSBh
YnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciBpcyB1c2VkIHRvIHBhY2thZ2Ug
dGhlCitpbnRvIGEgcHJvcGVydHkgZGVzYy4gU3RlcCAxMCBvZiBUb1Byb3BlcnR5RGVzY3JpcHRv
ciB0aHJvd3MgYSBUeXBlRXJyb3IKK2lmIHRoZSBwcm9wZXJ0eSBkZXNjIGVuZHMgdXAgaGF2aW5n
IGEgbWl4IG9mIGFjY2Vzc29yIGFuZCBkYXRhIHByb3BlcnR5IGVsZW1lbnRzLgorKi8KKworRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjYtMy0xIiwKKworcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xLmpzIiwK
KworZGVzY3JpcHRpb246ICJPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciBp
ZiBkZXNjIGhhcyAnZ2V0JyBhbmQgJ3ZhbHVlJyBwcmVzZW50IiwKKwordGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7CisgICAgdmFyIG8gPSB7fTsKKworICAgIC8vIGR1bW15IGdldHRlcgorICAg
IHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9CisgICAgdmFyIGRlc2MgPSB7
IGdldDogZ2V0dGVyLCB2YWx1ZTogMTAxfTsKKyAgCisgICAgdHJ5IHsKKyAgICAgIE9iamVjdC5k
ZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7CisgICAgfQorICAgIGNhdGNoIChlKSB7Cisg
ICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJgorICAgICAgICAgIChvLmhhc093blBy
b3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7CisgICAgICAgIHJldHVybiB0cnVlOworICAgICAg
fQorICAgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0
dXJuIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CisgfQorfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMi4zLjYtMy0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCAr
MSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy42LTMtMTAuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjIuMy42LTMtMTAuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNi0zLTEwLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDU1ICsxLDU1IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MN
Ci0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0v
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotLyoNCi1UaGUgYWJ0cmFjdCBvcGVyYXRpb24gVG9Q
cm9wZXJ0eURlc2NyaXB0b3IgIGlzIHVzZWQgdG8gcGFja2FnZSB0aGUNCi1pbnRvIGEgcHJvcGVy
dHkgZGVzYy4gU3RlcCAxMCBvZiBUb1Byb3BlcnR5RGVzY3JpcHRvciB0aHJvd3MgYSBUeXBlRXJy
b3INCi1pZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3Nv
ciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCi0qLw0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuNi0zLTEwIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEwLmpzIiwNCi0NCi1kZXNj
cmlwdGlvbjogIk9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIHNldHRl
ciBpcyBub3QgY2FsbGFibGUgYnV0IG5vdCB1bmRlZmluZWQgKE51bWJlcikiLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgICB2YXIgbyA9IHt9Ow0KLSAgICANCi0gICAgLy8g
ZHVtbXkgc2V0dGVyDQotICAgIHZhciBzZXR0ZXIgPSA0MjsNCi0gICAgdmFyIGRlc2MgPSB7IHNl
dDogc2V0dGVyIH07DQotICAgIA0KLSAgICB0cnkgew0KLSAgICAgIE9iamVjdC5kZWZpbmVQcm9w
ZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQotICAgIH0NCi0gICAgY2F0Y2ggKGUpIHsNCi0gICAgICBp
ZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KLSAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0
eSgiZm9vIikgPT09IGZhbHNlKSkgew0KLSAgICAgICAgcmV0dXJuIHRydWU7DQotICAgICAgfQ0K
LSAgICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICBy
ZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsNCi0gfQ0KLX0pOw0KKy8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisv
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworLyoKK1RoZSBhYnRyYWN0IG9wZXJh
dGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQoraW50byBh
IHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEg
VHlwZUVycm9yCitpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBh
Y2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4KKyovCisKK0VTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy42LTMtMTAiLAorCitwYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEwLmpzIiwKKworZGVzY3Jp
cHRpb246ICJPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciBpZiBzZXR0ZXIg
aXMgbm90IGNhbGxhYmxlIGJ1dCBub3QgdW5kZWZpbmVkIChOdW1iZXIpIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgICAgdmFyIG8gPSB7fTsKKyAgICAKKyAgICAvLyBkdW1teSBz
ZXR0ZXIKKyAgICB2YXIgc2V0dGVyID0gNDI7CisgICAgdmFyIGRlc2MgPSB7IHNldDogc2V0dGVy
IH07CisgICAgCisgICAgdHJ5IHsKKyAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9v
IiwgZGVzYyk7CisgICAgfQorICAgIGNhdGNoIChlKSB7CisgICAgICBpZiAoZSBpbnN0YW5jZW9m
IFR5cGVFcnJvciAmJgorICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFs
c2UpKSB7CisgICAgICAgIHJldHVybiB0cnVlOworICAgICAgfQorICAgIH0KKyB9LAorCitwcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5k
ZWZpbmVQcm9wZXJ0eSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjYtMy0xMC5qcwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNi0zLTExLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNi0zLTExLmpzCShy
ZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjYtMy0xMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1NSArMSw1NSBA
QAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0K
LS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IA0KLQ0KLS8qDQotVGhlIGFidHJhY3Qgb3BlcmF0aW9uIFRvUHJvcGVydHlEZXNjcmlwdG9yICBp
cyB1c2VkIHRvIHBhY2thZ2UgdGhlDQotaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2Yg
VG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQotaWYgdGhlIHByb3BlcnR5
IGRlc2MgZW5kcyB1cCBoYXZpbmcgYSBtaXggb2YgYWNjZXNzb3IgYW5kIGRhdGEgcHJvcGVydHkg
ZWxlbWVudHMuDQotKi8NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUu
Mi4zLjYtMy0xMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMv
MTUuMi4zLjYvMTUuMi4zLjYtMy0xMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZGVm
aW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciBpZiBzZXR0ZXIgaXMgbm90IGNhbGxhYmxlIGJ1
dCBub3QgdW5kZWZpbmVkIChCb29sZWFuKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotICAgIHZhciBvID0ge307DQotICAgIA0KLSAgICAvLyBkdW1teSBzZXR0ZXINCi0gICAg
dmFyIHNldHRlciA9IHRydWU7DQotICAgIHZhciBkZXNjID0geyBzZXQ6IHNldHRlciB9Ow0KLSAg
ICANCi0gICAgdHJ5IHsNCi0gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRl
c2MpOw0KLSAgICB9DQotICAgIGNhdGNoIChlKSB7DQotICAgICAgaWYgKGUgaW5zdGFuY2VvZiBU
eXBlRXJyb3IgJiYNCi0gICAgICAgICAgKG8uaGFzT3duUHJvcGVydHkoImZvbyIpID09PSBmYWxz
ZSkpIHsNCi0gICAgICAgIHJldHVybiB0cnVlOw0KLSAgICAgIH0NCi0gICAgfQ0KLSB9LA0KLQ0K
LXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9i
amVjdC5kZWZpbmVQcm9wZXJ0eSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MK
Ky8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisKKy8qCitUaGUgYWJ0cmFjdCBvcGVyYXRpb24gVG9Qcm9wZXJ0eURl
c2NyaXB0b3IgIGlzIHVzZWQgdG8gcGFja2FnZSB0aGUKK2ludG8gYSBwcm9wZXJ0eSBkZXNjLiBT
dGVwIDEwIG9mIFRvUHJvcGVydHlEZXNjcmlwdG9yIHRocm93cyBhIFR5cGVFcnJvcgoraWYgdGhl
IHByb3BlcnR5IGRlc2MgZW5kcyB1cCBoYXZpbmcgYSBtaXggb2YgYWNjZXNzb3IgYW5kIGRhdGEg
cHJvcGVydHkgZWxlbWVudHMuCisqLworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6
ICIxNS4yLjMuNi0zLTExIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4y
LjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmRl
ZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3IgaWYgc2V0dGVyIGlzIG5vdCBjYWxsYWJsZSBi
dXQgbm90IHVuZGVmaW5lZCAoQm9vbGVhbikiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsKKyAgICB2YXIgbyA9IHt9OworICAgIAorICAgIC8vIGR1bW15IHNldHRlcgorICAgIHZhciBz
ZXR0ZXIgPSB0cnVlOworICAgIHZhciBkZXNjID0geyBzZXQ6IHNldHRlciB9OworICAgIAorICAg
IHRyeSB7CisgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOworICAg
IH0KKyAgICBjYXRjaCAoZSkgeworICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYK
KyAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgeworICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICAgIH0KKyAgICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkp
OworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy42LTMtMTEuanMKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjYtMy0xMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjYtMy0xMi5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My42LTMtMTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTUgKzEsNTUgQEAKLS8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0K
LS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0vKg0KLVRo
ZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNr
YWdlIHRoZQ0KLWludG8gYSBwcm9wZXJ0eSBkZXNjLiBTdGVwIDEwIG9mIFRvUHJvcGVydHlEZXNj
cmlwdG9yIHRocm93cyBhIFR5cGVFcnJvcg0KLWlmIHRoZSBwcm9wZXJ0eSBkZXNjIGVuZHMgdXAg
aGF2aW5nIGEgbWl4IG9mIGFjY2Vzc29yIGFuZCBkYXRhIHByb3BlcnR5IGVsZW1lbnRzLg0KLSov
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy42LTMtMTIiLA0K
LQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIu
My42LTMtMTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LmRlZmluZVByb3BlcnR5IHRo
cm93cyBUeXBlRXJyb3IgaWYgc2V0dGVyIGlzIG5vdCBjYWxsYWJsZSBidXQgbm90IHVuZGVmaW5l
ZCAoU3RyaW5nKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICAgIHZhciBv
ID0ge307DQotICAgIA0KLSAgICAvLyBkdW1teSBzZXR0ZXINCi0gICAgdmFyIHNldHRlciA9ICJh
YmMiOw0KLSAgICB2YXIgZGVzYyA9IHsgc2V0OiBzZXR0ZXIgfTsNCi0gICAgDQotICAgIHRyeSB7
DQotICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCi0gICAgfQ0K
LSAgICBjYXRjaCAoZSkgew0KLSAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQot
ICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQotICAgICAg
ICByZXR1cm4gdHJ1ZTsNCi0gICAgICB9DQotICAgIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJv
cGVydHkpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisv
Ly8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorCisvKgorVGhlIGFidHJhY3Qgb3BlcmF0aW9uIFRvUHJvcGVydHlEZXNjcmlwdG9yICBpcyB1
c2VkIHRvIHBhY2thZ2UgdGhlCitpbnRvIGEgcHJvcGVydHkgZGVzYy4gU3RlcCAxMCBvZiBUb1By
b3BlcnR5RGVzY3JpcHRvciB0aHJvd3MgYSBUeXBlRXJyb3IKK2lmIHRoZSBwcm9wZXJ0eSBkZXNj
IGVuZHMgdXAgaGF2aW5nIGEgbWl4IG9mIGFjY2Vzc29yIGFuZCBkYXRhIHByb3BlcnR5IGVsZW1l
bnRzLgorKi8KKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjYtMy0x
MiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1
LjIuMy42LTMtMTIuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0
aHJvd3MgVHlwZUVycm9yIGlmIHNldHRlciBpcyBub3QgY2FsbGFibGUgYnV0IG5vdCB1bmRlZmlu
ZWQgKFN0cmluZykiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgICB2YXIgbyA9
IHt9OworICAgIAorICAgIC8vIGR1bW15IHNldHRlcgorICAgIHZhciBzZXR0ZXIgPSAiYWJjIjsK
KyAgICB2YXIgZGVzYyA9IHsgc2V0OiBzZXR0ZXIgfTsKKyAgICAKKyAgICB0cnkgeworICAgICAg
T2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsKKyAgICB9CisgICAgY2F0Y2gg
KGUpIHsKKyAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmCisgICAgICAgICAgKG8u
aGFzT3duUHJvcGVydHkoImZvbyIpID09PSBmYWxzZSkpIHsKKyAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgICB9CisgICAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
eworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKKyB9Cit9KTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuNi0zLTEyLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy42LTMt
MTMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy42LTMtMTMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNi0zLTEzLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDU1ICsxLDU1IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
DQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotLyoNCi1UaGUgYWJ0cmFjdCBvcGVy
YXRpb24gVG9Qcm9wZXJ0eURlc2NyaXB0b3IgIGlzIHVzZWQgdG8gcGFja2FnZSB0aGUNCi1pbnRv
IGEgcHJvcGVydHkgZGVzYy4gU3RlcCAxMCBvZiBUb1Byb3BlcnR5RGVzY3JpcHRvciB0aHJvd3Mg
YSBUeXBlRXJyb3INCi1pZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBv
ZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCi0qLw0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuNi0zLTEzIiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEzLmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9y
IGlmIHRoZSBzZXR0ZXIgaW4gZGVzYyBpcyBub3QgY2FsbGFibGUgKE51bGwpIiwNCi0NCi10ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gICAgdmFyIG8gPSB7fTsNCi0gICAgDQotICAgIC8v
IGR1bW15IHNldHRlcg0KLSAgICB2YXIgc2V0dGVyID0gbnVsbDsNCi0gICAgdmFyIGRlc2MgPSB7
IHNldDogc2V0dGVyIH07DQotICAgIA0KLSAgICB0cnkgew0KLSAgICAgIE9iamVjdC5kZWZpbmVQ
cm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQotICAgIH0NCi0gICAgY2F0Y2ggKGUpIHsNCi0gICAg
ICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KLSAgICAgICAgICAoby5oYXNPd25Qcm9w
ZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgew0KLSAgICAgICAgcmV0dXJuIHRydWU7DQotICAgICAg
fQ0KLSAgICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQot
ICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsNCi0gfQ0KLX0pOw0KKy8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworLyoKK1RoZSBhYnRyYWN0IG9w
ZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQoraW50
byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dz
IGEgVHlwZUVycm9yCitpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBv
ZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4KKyovCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy42LTMtMTMiLAorCitwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEzLmpzIiwKKworZGVz
Y3JpcHRpb246ICJPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciBpZiB0aGUg
c2V0dGVyIGluIGRlc2MgaXMgbm90IGNhbGxhYmxlIChOdWxsKSIsCisKK3Rlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworICAgIHZhciBvID0ge307CisgICAgCisgICAgLy8gZHVtbXkgc2V0dGVy
CisgICAgdmFyIHNldHRlciA9IG51bGw7CisgICAgdmFyIGRlc2MgPSB7IHNldDogc2V0dGVyIH07
CisgICAgCisgICAgdHJ5IHsKKyAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwg
ZGVzYyk7CisgICAgfQorICAgIGNhdGNoIChlKSB7CisgICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5
cGVFcnJvciAmJgorICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2Up
KSB7CisgICAgICAgIHJldHVybiB0cnVlOworICAgICAgfQorICAgIH0KKyB9LAorCitwcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5kZWZp
bmVQcm9wZXJ0eSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjYtMy0xMy5qcwpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuNi0zLTE0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNi0zLTE0LmpzCShyZXZp
c2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjYtMy0xNC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1NSArMSw1NSBAQAot
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0K
LQ0KLS8qDQotVGhlIGFidHJhY3Qgb3BlcmF0aW9uIFRvUHJvcGVydHlEZXNjcmlwdG9yICBpcyB1
c2VkIHRvIHBhY2thZ2UgdGhlDQotaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Q
cm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQotaWYgdGhlIHByb3BlcnR5IGRl
c2MgZW5kcyB1cCBoYXZpbmcgYSBtaXggb2YgYWNjZXNzb3IgYW5kIGRhdGEgcHJvcGVydHkgZWxl
bWVudHMuDQotKi8NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4z
LjYtMy0xNCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUu
Mi4zLjYvMTUuMi4zLjYtMy0xNC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZGVmaW5l
UHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciBpZiBzZXR0ZXIgaXMgbm90IGNhbGxhYmxlIGJ1dCBu
b3QgdW5kZWZpbmVkIChPYmplY3QpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsN
Ci0gICAgdmFyIG8gPSB7fTsNCi0gICAgDQotICAgIC8vIGR1bW15IGdldHRlcg0KLSAgICB2YXIg
c2V0dGVyID0geyBhOiAxIH07DQotICAgIHZhciBkZXNjID0geyBzZXQ6IHNldHRlciB9Ow0KLSAg
ICANCi0gICAgdHJ5IHsNCi0gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRl
c2MpOw0KLSAgICB9DQotICAgIGNhdGNoIChlKSB7DQotICAgICAgaWYgKGUgaW5zdGFuY2VvZiBU
eXBlRXJyb3IgJiYNCi0gICAgICAgICAgKG8uaGFzT3duUHJvcGVydHkoImZvbyIpID09PSBmYWxz
ZSkpIHsNCi0gICAgICAgIHJldHVybiB0cnVlOw0KLSAgICAgIH0NCi0gICAgfQ0KLSB9LA0KLQ0K
LXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9i
amVjdC5kZWZpbmVQcm9wZXJ0eSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MK
Ky8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisKKy8qCitUaGUgYWJ0cmFjdCBvcGVyYXRpb24gVG9Qcm9wZXJ0eURl
c2NyaXB0b3IgIGlzIHVzZWQgdG8gcGFja2FnZSB0aGUKK2ludG8gYSBwcm9wZXJ0eSBkZXNjLiBT
dGVwIDEwIG9mIFRvUHJvcGVydHlEZXNjcmlwdG9yIHRocm93cyBhIFR5cGVFcnJvcgoraWYgdGhl
IHByb3BlcnR5IGRlc2MgZW5kcyB1cCBoYXZpbmcgYSBtaXggb2YgYWNjZXNzb3IgYW5kIGRhdGEg
cHJvcGVydHkgZWxlbWVudHMuCisqLworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6
ICIxNS4yLjMuNi0zLTE0IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4y
LjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmRl
ZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3IgaWYgc2V0dGVyIGlzIG5vdCBjYWxsYWJsZSBi
dXQgbm90IHVuZGVmaW5lZCAoT2JqZWN0KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
eworICAgIHZhciBvID0ge307CisgICAgCisgICAgLy8gZHVtbXkgZ2V0dGVyCisgICAgdmFyIHNl
dHRlciA9IHsgYTogMSB9OworICAgIHZhciBkZXNjID0geyBzZXQ6IHNldHRlciB9OworICAgIAor
ICAgIHRyeSB7CisgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOwor
ICAgIH0KKyAgICBjYXRjaCAoZSkgeworICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3Ig
JiYKKyAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgeworICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgIH0KKyAgICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVy
dHkpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy42LTMtMTQuanMKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjYtMy0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNi0zLTIuanMJKHJldmlzaW9uIDE5OTU0
OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuNi0zLTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTUgKzEsNTUgQEAKLS8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0K
LS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0vKg0KLVRo
ZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNr
YWdlIHRoZQ0KLWludG8gYSBwcm9wZXJ0eSBkZXNjLiBTdGVwIDEwIG9mIFRvUHJvcGVydHlEZXNj
cmlwdG9yIHRocm93cyBhIFR5cGVFcnJvcg0KLWlmIHRoZSBwcm9wZXJ0eSBkZXNjIGVuZHMgdXAg
aGF2aW5nIGEgbWl4IG9mIGFjY2Vzc29yIGFuZCBkYXRhIHByb3BlcnR5IGVsZW1lbnRzLg0KLSov
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy42LTMtMiIsDQot
DQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4z
LjYtMy0yLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJv
d3MgVHlwZUVycm9yIGlmIGRlc2MgaGFzICdnZXQnIGFuZCAnd3JpdGFibGUnIHByZXNlbnQiLA0K
LQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgICB2YXIgbyA9IHt9Ow0KLSAgICAN
Ci0gICAgLy8gZHVtbXkgZ2V0dGVyDQotICAgIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7IHJl
dHVybiAxOyB9DQotICAgIHZhciBkZXNjID0geyBnZXQ6IGdldHRlciwgd3JpdGFibGU6IGZhbHNl
IH07DQotICAgIA0KLSAgICB0cnkgew0KLSAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAi
Zm9vIiwgZGVzYyk7DQotICAgIH0NCi0gICAgY2F0Y2ggKGUpIHsNCi0gICAgICBpZiAoZSBpbnN0
YW5jZW9mIFR5cGVFcnJvciAmJg0KLSAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikg
PT09IGZhbHNlKSkgew0KLSAgICAgICAgcmV0dXJuIHRydWU7DQotICAgICAgfQ0KLSAgICB9DQot
IH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5F
eGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworLyoKK1RoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1By
b3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQoraW50byBhIHByb3BlcnR5
IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9y
CitpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBh
bmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4KKyovCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7CitpZDogIjE1LjIuMy42LTMtMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2Jq
ZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3IgaWYgZGVzYyBoYXMgJ2dldCcgYW5k
ICd3cml0YWJsZScgcHJlc2VudCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAg
IHZhciBvID0ge307CisgICAgCisgICAgLy8gZHVtbXkgZ2V0dGVyCisgICAgdmFyIGdldHRlciA9
IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDE7IH0KKyAgICB2YXIgZGVzYyA9IHsgZ2V0OiBnZXR0ZXIs
IHdyaXRhYmxlOiBmYWxzZSB9OworICAgIAorICAgIHRyeSB7CisgICAgICBPYmplY3QuZGVmaW5l
UHJvcGVydHkobywgImZvbyIsIGRlc2MpOworICAgIH0KKyAgICBjYXRjaCAoZSkgeworICAgICAg
aWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYKKyAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0
eSgiZm9vIikgPT09IGZhbHNlKSkgeworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgIH0KKyAg
ICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBm
bkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My42LTMtMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMK
K0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNi0zLTMuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My42LTMtMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy42LTMtMy5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSw1NSArMSw1NSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIA0KLQ0KLS8qDQotVGhlIGFidHJhY3Qgb3BlcmF0aW9uIFRvUHJvcGVydHlE
ZXNjcmlwdG9yICBpcyB1c2VkIHRvIHBhY2thZ2UgdGhlDQotaW50byBhIHByb3BlcnR5IGRlc2Mu
IFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQotaWYg
dGhlIHByb3BlcnR5IGRlc2MgZW5kcyB1cCBoYXZpbmcgYSBtaXggb2YgYWNjZXNzb3IgYW5kIGRh
dGEgcHJvcGVydHkgZWxlbWVudHMuDQotKi8NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
ew0KLWlkOiAiMTUuMi4zLjYtMy0zIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAi
T2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3IgaWYgZGVzYyBoYXMgJ3NldCcg
YW5kICd2YWx1ZScgcHJlc2VudCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQot
ICAgIHZhciBvID0ge307DQotDQotICAgIC8vIGR1bW15IHNldHRlcg0KLSAgICB2YXIgc2V0dGVy
ID0gZnVuY3Rpb24gKCkgeyB9DQotICAgIHZhciBkZXNjID0geyBzZXQ6IHNldHRlciwgdmFsdWU6
IDEwMX07DQotICAgIA0KLSAgICB0cnkgew0KLSAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShv
LCAiZm9vIiwgZGVzYyk7DQotICAgIH0NCi0gICAgY2F0Y2ggKGUpIHsNCi0gICAgICBpZiAoZSBp
bnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KLSAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9v
IikgPT09IGZhbHNlKSkgew0KLSAgICAgICAgcmV0dXJuIHRydWU7DQotICAgICAgfQ0KLSAgICB9
DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4g
Zm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworLyoKK1RoZSBhYnRyYWN0IG9wZXJhdGlvbiBU
b1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQoraW50byBhIHByb3Bl
cnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVy
cm9yCitpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3Nv
ciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4KKyovCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7CitpZDogIjE1LjIuMy42LTMtMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtMy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAi
T2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3IgaWYgZGVzYyBoYXMgJ3NldCcg
YW5kICd2YWx1ZScgcHJlc2VudCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAg
IHZhciBvID0ge307CisKKyAgICAvLyBkdW1teSBzZXR0ZXIKKyAgICB2YXIgc2V0dGVyID0gZnVu
Y3Rpb24gKCkgeyB9CisgICAgdmFyIGRlc2MgPSB7IHNldDogc2V0dGVyLCB2YWx1ZTogMTAxfTsK
KyAgICAKKyAgICB0cnkgeworICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBk
ZXNjKTsKKyAgICB9CisgICAgY2F0Y2ggKGUpIHsKKyAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlw
ZUVycm9yICYmCisgICAgICAgICAgKG8uaGFzT3duUHJvcGVydHkoImZvbyIpID09PSBmYWxzZSkp
IHsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICB9CisgICAgfQorIH0sCisKK3ByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNi0zLTMuanMKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjYtMy00LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNi0zLTQuanMJKHJldmlzaW9u
IDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4yLjMuNi0zLTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTUgKzEsNTUgQEAKLS8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
DQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0v
Kg0KLVRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0
byBwYWNrYWdlIHRoZQ0KLWludG8gYSBwcm9wZXJ0eSBkZXNjLiBTdGVwIDEwIG9mIFRvUHJvcGVy
dHlEZXNjcmlwdG9yIHRocm93cyBhIFR5cGVFcnJvcg0KLWlmIHRoZSBwcm9wZXJ0eSBkZXNjIGVu
ZHMgdXAgaGF2aW5nIGEgbWl4IG9mIGFjY2Vzc29yIGFuZCBkYXRhIHByb3BlcnR5IGVsZW1lbnRz
Lg0KLSovDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy42LTMt
NCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYv
MTUuMi4zLjYtMy00LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5kZWZpbmVQcm9wZXJ0
eSB0aHJvd3MgVHlwZUVycm9yIGlmIGRlc2MgaGFzICdzZXQnIGFuZCAnd3JpdGFibGUnIHByZXNl
bnQiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgICB2YXIgbyA9IHt9Ow0K
LSAgICANCi0gICAgLy8gZHVtbXkgZ2V0dGVyDQotICAgIHZhciBzZXR0ZXIgPSBmdW5jdGlvbiAo
KSB7IH0NCi0gICAgdmFyIGRlc2MgPSB7IHNldDogc2V0dGVyLCB3cml0YWJsZTogZmFsc2UgfTsN
Ci0gICAgDQotICAgIHRyeSB7DQotICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28i
LCBkZXNjKTsNCi0gICAgfQ0KLSAgICBjYXRjaCAoZSkgew0KLSAgICAgIGlmIChlIGluc3RhbmNl
b2YgVHlwZUVycm9yICYmDQotICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0g
ZmFsc2UpKSB7DQotICAgICAgICByZXR1cm4gdHJ1ZTsNCi0gICAgICB9DQotICAgIH0NCi0gfSwN
Ci0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0
cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorCisvKgorVGhlIGFidHJhY3Qgb3BlcmF0aW9uIFRvUHJvcGVy
dHlEZXNjcmlwdG9yICBpcyB1c2VkIHRvIHBhY2thZ2UgdGhlCitpbnRvIGEgcHJvcGVydHkgZGVz
Yy4gU3RlcCAxMCBvZiBUb1Byb3BlcnR5RGVzY3JpcHRvciB0aHJvd3MgYSBUeXBlRXJyb3IKK2lm
IHRoZSBwcm9wZXJ0eSBkZXNjIGVuZHMgdXAgaGF2aW5nIGEgbWl4IG9mIGFjY2Vzc29yIGFuZCBk
YXRhIHByb3BlcnR5IGVsZW1lbnRzLgorKi8KKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsK
K2lkOiAiMTUuMi4zLjYtMy00IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8x
NS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00LmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3Qu
ZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciBpZiBkZXNjIGhhcyAnc2V0JyBhbmQgJ3dy
aXRhYmxlJyBwcmVzZW50IiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgICAgdmFy
IG8gPSB7fTsKKyAgICAKKyAgICAvLyBkdW1teSBnZXR0ZXIKKyAgICB2YXIgc2V0dGVyID0gZnVu
Y3Rpb24gKCkgeyB9CisgICAgdmFyIGRlc2MgPSB7IHNldDogc2V0dGVyLCB3cml0YWJsZTogZmFs
c2UgfTsKKyAgICAKKyAgICB0cnkgeworICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJm
b28iLCBkZXNjKTsKKyAgICB9CisgICAgY2F0Y2ggKGUpIHsKKyAgICAgIGlmIChlIGluc3RhbmNl
b2YgVHlwZUVycm9yICYmCisgICAgICAgICAgKG8uaGFzT3duUHJvcGVydHkoImZvbyIpID09PSBm
YWxzZSkpIHsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICB9CisgICAgfQorIH0sCisKK3By
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0
LmRlZmluZVByb3BlcnR5KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNi0zLTQuanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjYtMy01LmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNi0zLTUuanMJKHJl
dmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuNi0zLTUuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTUgKzEsNTUgQEAK
LS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0v
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAN
Ci0NCi0vKg0KLVRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMg
dXNlZCB0byBwYWNrYWdlIHRoZQ0KLWludG8gYSBwcm9wZXJ0eSBkZXNjLiBTdGVwIDEwIG9mIFRv
UHJvcGVydHlEZXNjcmlwdG9yIHRocm93cyBhIFR5cGVFcnJvcg0KLWlmIHRoZSBwcm9wZXJ0eSBk
ZXNjIGVuZHMgdXAgaGF2aW5nIGEgbWl4IG9mIGFjY2Vzc29yIGFuZCBkYXRhIHByb3BlcnR5IGVs
ZW1lbnRzLg0KLSovDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIu
My42LTMtNSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUu
Mi4zLjYvMTUuMi4zLjYtMy01LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5kZWZpbmVQ
cm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGdldHRlciBpcyBub3QgY2FsbGFibGUgYnV0IG5v
dCB1bmRlZmluZWQgKE51bWJlcikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LSAgICB2YXIgbyA9IHt9Ow0KLSAgICANCi0gICAgLy8gZHVtbXkgZ2V0dGVyDQotICAgIHZhciBn
ZXR0ZXIgPSA0MjsNCi0gICAgdmFyIGRlc2MgPSB7IGdldDogZ2V0dGVyIH07DQotICAgIA0KLSAg
ICB0cnkgew0KLSAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQot
ICAgIH0NCi0gICAgY2F0Y2ggKGUpIHsNCi0gICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJv
ciAmJg0KLSAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgew0K
LSAgICAgICAgcmV0dXJuIHRydWU7DQotICAgICAgfQ0KLSAgICB9DQotIH0sDQotDQotcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmRl
ZmluZVByb3BlcnR5KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKworLyoKK1RoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRv
ciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQoraW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAg
b2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yCitpZiB0aGUgcHJvcGVy
dHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0
eSBlbGVtZW50cy4KKyovCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIu
My42LTMtNSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIu
My42LzE1LjIuMy42LTMtNS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmRlZmluZVByb3Bl
cnR5IHRocm93cyBUeXBlRXJyb3IgaWYgZ2V0dGVyIGlzIG5vdCBjYWxsYWJsZSBidXQgbm90IHVu
ZGVmaW5lZCAoTnVtYmVyKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgIHZh
ciBvID0ge307CisgICAgCisgICAgLy8gZHVtbXkgZ2V0dGVyCisgICAgdmFyIGdldHRlciA9IDQy
OworICAgIHZhciBkZXNjID0geyBnZXQ6IGdldHRlciB9OworICAgIAorICAgIHRyeSB7CisgICAg
ICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOworICAgIH0KKyAgICBjYXRj
aCAoZSkgeworICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYKKyAgICAgICAgICAo
by5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgeworICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICAgIH0KKyAgICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOworIH0KK30pOwoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy42LTMtNS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNi0z
LTYuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy42LTMtNi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy42LTMtNi5qcwkod29y
a2luZyBjb3B5KQpAQCAtMSw1NSArMSw1NSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0K
LS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLS8qDQotVGhlIGFidHJhY3Qgb3BlcmF0
aW9uIFRvUHJvcGVydHlEZXNjcmlwdG9yICBpcyB1c2VkIHRvIHBhY2thZ2UgdGhlDQotaW50byBh
IHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEg
VHlwZUVycm9yDQotaWYgdGhlIHByb3BlcnR5IGRlc2MgZW5kcyB1cCBoYXZpbmcgYSBtaXggb2Yg
YWNjZXNzb3IgYW5kIGRhdGEgcHJvcGVydHkgZWxlbWVudHMuDQotKi8NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjYtMy02IiwNCi0NCi1wYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTYuanMiLA0KLQ0K
LWRlc2NyaXB0aW9uOiAiT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3IgaWYg
Z2V0dGVyIGlzIG5vdCBjYWxsYWJsZSBidXQgbm90IHVuZGVmaW5lZCAoQm9vbGVhbikiLA0KLQ0K
LXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgICB2YXIgbyA9IHt9Ow0KLSAgICANCi0g
ICAgLy8gZHVtbXkgZ2V0dGVyDQotICAgIHZhciBnZXR0ZXIgPSB0cnVlOw0KLSAgICB2YXIgZGVz
YyA9IHsgZ2V0OiBnZXR0ZXIgfTsNCi0gICAgDQotICAgIHRyeSB7DQotICAgICAgT2JqZWN0LmRl
ZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCi0gICAgfQ0KLSAgICBjYXRjaCAoZSkgew0K
LSAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQotICAgICAgICAgIChvLmhhc093
blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQotICAgICAgICByZXR1cm4gdHJ1ZTsNCi0g
ICAgICB9DQotICAgIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsNCi0gIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOw0KLSB9DQotfSk7
DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisv
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisvKgorVGhlIGFidHJh
Y3Qgb3BlcmF0aW9uIFRvUHJvcGVydHlEZXNjcmlwdG9yICBpcyB1c2VkIHRvIHBhY2thZ2UgdGhl
CitpbnRvIGEgcHJvcGVydHkgZGVzYy4gU3RlcCAxMCBvZiBUb1Byb3BlcnR5RGVzY3JpcHRvciB0
aHJvd3MgYSBUeXBlRXJyb3IKK2lmIHRoZSBwcm9wZXJ0eSBkZXNjIGVuZHMgdXAgaGF2aW5nIGEg
bWl4IG9mIGFjY2Vzc29yIGFuZCBkYXRhIHByb3BlcnR5IGVsZW1lbnRzLgorKi8KKworRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjYtMy02IiwKKworcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02LmpzIiwKKwor
ZGVzY3JpcHRpb246ICJPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciBpZiBn
ZXR0ZXIgaXMgbm90IGNhbGxhYmxlIGJ1dCBub3QgdW5kZWZpbmVkIChCb29sZWFuKSIsCisKK3Rl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgIHZhciBvID0ge307CisgICAgCisgICAgLy8g
ZHVtbXkgZ2V0dGVyCisgICAgdmFyIGdldHRlciA9IHRydWU7CisgICAgdmFyIGRlc2MgPSB7IGdl
dDogZ2V0dGVyIH07CisgICAgCisgICAgdHJ5IHsKKyAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0
eShvLCAiZm9vIiwgZGVzYyk7CisgICAgfQorICAgIGNhdGNoIChlKSB7CisgICAgICBpZiAoZSBp
bnN0YW5jZW9mIFR5cGVFcnJvciAmJgorICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28i
KSA9PT0gZmFsc2UpKSB7CisgICAgICAgIHJldHVybiB0cnVlOworICAgICAgfQorICAgIH0KKyB9
LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3Rz
KE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjYtMy02
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy42LTMtNy5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjYtMy03
LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjYtMy03LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU1ICsx
LDU1IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0v
Ly8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQN
Ci0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0K
LS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8g
DQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gDQotDQotLyoNCi1UaGUgYWJ0cmFjdCBvcGVyYXRpb24gVG9Qcm9wZXJ0eURlc2NyaXB0
b3IgIGlzIHVzZWQgdG8gcGFja2FnZSB0aGUNCi1pbnRvIGEgcHJvcGVydHkgZGVzYy4gU3RlcCAx
MCBvZiBUb1Byb3BlcnR5RGVzY3JpcHRvciB0aHJvd3MgYSBUeXBlRXJyb3INCi1pZiB0aGUgcHJv
cGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9w
ZXJ0eSBlbGVtZW50cy4NCi0qLw0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6
ICIxNS4yLjMuNi0zLTciLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUu
Mi4zLzE1LjIuMy42LzE1LjIuMy42LTMtNy5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3Qu
ZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciBpZiBnZXR0ZXIgaXMgbm90IGNhbGxhYmxl
IGJ1dCBub3QgdW5kZWZpbmVkIChTdHJpbmcpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsNCi0gICAgdmFyIG8gPSB7fTsNCi0gICAgDQotICAgIC8vIGR1bW15IGdldHRlcg0KLSAg
ICB2YXIgZ2V0dGVyID0gImFiYyI7DQotICAgIHZhciBkZXNjID0geyBnZXQ6IGdldHRlciB9Ow0K
LSAgICANCi0gICAgdHJ5IHsNCi0gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIs
IGRlc2MpOw0KLSAgICB9DQotICAgIGNhdGNoIChlKSB7DQotICAgICAgaWYgKGUgaW5zdGFuY2Vv
ZiBUeXBlRXJyb3IgJiYNCi0gICAgICAgICAgKG8uaGFzT3duUHJvcGVydHkoImZvbyIpID09PSBm
YWxzZSkpIHsNCi0gICAgICAgIHJldHVybiB0cnVlOw0KLSAgICAgIH0NCi0gICAgfQ0KLSB9LA0K
LQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3Rz
KE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisKKy8qCitUaGUgYWJ0cmFjdCBvcGVyYXRpb24gVG9Qcm9wZXJ0
eURlc2NyaXB0b3IgIGlzIHVzZWQgdG8gcGFja2FnZSB0aGUKK2ludG8gYSBwcm9wZXJ0eSBkZXNj
LiBTdGVwIDEwIG9mIFRvUHJvcGVydHlEZXNjcmlwdG9yIHRocm93cyBhIFR5cGVFcnJvcgoraWYg
dGhlIHByb3BlcnR5IGRlc2MgZW5kcyB1cCBoYXZpbmcgYSBtaXggb2YgYWNjZXNzb3IgYW5kIGRh
dGEgcHJvcGVydHkgZWxlbWVudHMuCisqLworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxNS4yLjMuNi0zLTciLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1
LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTcuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5k
ZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGdldHRlciBpcyBub3QgY2FsbGFibGUg
YnV0IG5vdCB1bmRlZmluZWQgKFN0cmluZykiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsKKyAgICB2YXIgbyA9IHt9OworICAgIAorICAgIC8vIGR1bW15IGdldHRlcgorICAgIHZhciBn
ZXR0ZXIgPSAiYWJjIjsKKyAgICB2YXIgZGVzYyA9IHsgZ2V0OiBnZXR0ZXIgfTsKKyAgICAKKyAg
ICB0cnkgeworICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsKKyAg
ICB9CisgICAgY2F0Y2ggKGUpIHsKKyAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICYm
CisgICAgICAgICAgKG8uaGFzT3duUHJvcGVydHkoImZvbyIpID09PSBmYWxzZSkpIHsKKyAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgICB9CisgICAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5
KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNi0zLTcuanMKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjYtMy04LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNi0zLTguanMJKHJldmlzaW9uIDE5OTU0OSkK
KysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMu
Ni0zLTguanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTUgKzEsNTUgQEAKLS8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
DQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0vKg0KLVRoZSBh
YnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdl
IHRoZQ0KLWludG8gYSBwcm9wZXJ0eSBkZXNjLiBTdGVwIDEwIG9mIFRvUHJvcGVydHlEZXNjcmlw
dG9yIHRocm93cyBhIFR5cGVFcnJvcg0KLWlmIHRoZSBwcm9wZXJ0eSBkZXNjIGVuZHMgdXAgaGF2
aW5nIGEgbWl4IG9mIGFjY2Vzc29yIGFuZCBkYXRhIHByb3BlcnR5IGVsZW1lbnRzLg0KLSovDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy42LTMtOCIsDQotDQot
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYt
My04LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3Mg
VHlwZUVycm9yIGlmIGdldHRlciBpcyBub3QgY2FsbGFibGUgYnV0IG5vdCB1bmRlZmluZWQgKE51
bGwpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gICAgdmFyIG8gPSB7fTsN
Ci0gICAgDQotICAgIC8vIGR1bW15IGdldHRlcg0KLSAgICB2YXIgZ2V0dGVyID0gbnVsbDsNCi0g
ICAgdmFyIGRlc2MgPSB7IGdldDogZ2V0dGVyIH07DQotICAgIA0KLSAgICB0cnkgew0KLSAgICAg
IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQotICAgIH0NCi0gICAgY2F0
Y2ggKGUpIHsNCi0gICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KLSAgICAgICAg
ICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgew0KLSAgICAgICAgcmV0dXJu
IHRydWU7DQotICAgICAgfQ0KLSAgICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsN
Ci0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworLyoK
K1RoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBw
YWNrYWdlIHRoZQoraW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURl
c2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yCitpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVw
IGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4KKyov
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy42LTMtOCIsCisKK3Bh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMt
OC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBl
RXJyb3IgaWYgZ2V0dGVyIGlzIG5vdCBjYWxsYWJsZSBidXQgbm90IHVuZGVmaW5lZCAoTnVsbCki
LAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgICB2YXIgbyA9IHt9OworICAgIAor
ICAgIC8vIGR1bW15IGdldHRlcgorICAgIHZhciBnZXR0ZXIgPSBudWxsOworICAgIHZhciBkZXNj
ID0geyBnZXQ6IGdldHRlciB9OworICAgIAorICAgIHRyeSB7CisgICAgICBPYmplY3QuZGVmaW5l
UHJvcGVydHkobywgImZvbyIsIGRlc2MpOworICAgIH0KKyAgICBjYXRjaCAoZSkgeworICAgICAg
aWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYKKyAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0
eSgiZm9vIikgPT09IGZhbHNlKSkgeworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgIH0KKyAg
ICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBm
bkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My42LTMtOC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMK
K0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNi0zLTkuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My42LTMtOS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy42LTMtOS5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSw1NSArMSw1NSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIA0KLQ0KLS8qDQotVGhlIGFidHJhY3Qgb3BlcmF0aW9uIFRvUHJvcGVydHlE
ZXNjcmlwdG9yICBpcyB1c2VkIHRvIHBhY2thZ2UgdGhlDQotaW50byBhIHByb3BlcnR5IGRlc2Mu
IFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQotaWYg
dGhlIHByb3BlcnR5IGRlc2MgZW5kcyB1cCBoYXZpbmcgYSBtaXggb2YgYWNjZXNzb3IgYW5kIGRh
dGEgcHJvcGVydHkgZWxlbWVudHMuDQotKi8NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
ew0KLWlkOiAiMTUuMi4zLjYtMy05IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTkuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAi
T2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3IgaWYgZ2V0dGVyIGlzIG5vdCBj
YWxsYWJsZSBidXQgbm90IHVuZGVmaW5lZCAoT2JqZWN0KSIsDQotDQotdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7DQotICAgIHZhciBvID0ge307DQotICAgIA0KLSAgICAvLyBkdW1teSBnZXR0
ZXINCi0gICAgdmFyIGdldHRlciA9IHsgYTogMSB9Ow0KLSAgICB2YXIgZGVzYyA9IHsgZ2V0OiBn
ZXR0ZXIgfTsNCi0gICAgDQotICAgIHRyeSB7DQotICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5
KG8sICJmb28iLCBkZXNjKTsNCi0gICAgfQ0KLSAgICBjYXRjaCAoZSkgew0KLSAgICAgIGlmIChl
IGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQotICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJm
b28iKSA9PT0gZmFsc2UpKSB7DQotICAgICAgICByZXR1cm4gdHJ1ZTsNCi0gICAgICB9DQotICAg
IH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVy
biBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOw0KLSB9DQotfSk7DQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisvKgorVGhlIGFidHJhY3Qgb3BlcmF0aW9u
IFRvUHJvcGVydHlEZXNjcmlwdG9yICBpcyB1c2VkIHRvIHBhY2thZ2UgdGhlCitpbnRvIGEgcHJv
cGVydHkgZGVzYy4gU3RlcCAxMCBvZiBUb1Byb3BlcnR5RGVzY3JpcHRvciB0aHJvd3MgYSBUeXBl
RXJyb3IKK2lmIHRoZSBwcm9wZXJ0eSBkZXNjIGVuZHMgdXAgaGF2aW5nIGEgbWl4IG9mIGFjY2Vz
c29yIGFuZCBkYXRhIHByb3BlcnR5IGVsZW1lbnRzLgorKi8KKworRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsKK2lkOiAiMTUuMi4zLjYtMy05IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05LmpzIiwKKworZGVzY3JpcHRpb246
ICJPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciBpZiBnZXR0ZXIgaXMgbm90
IGNhbGxhYmxlIGJ1dCBub3QgdW5kZWZpbmVkIChPYmplY3QpIiwKKwordGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7CisgICAgdmFyIG8gPSB7fTsKKyAgICAKKyAgICAvLyBkdW1teSBnZXR0ZXIK
KyAgICB2YXIgZ2V0dGVyID0geyBhOiAxIH07CisgICAgdmFyIGRlc2MgPSB7IGdldDogZ2V0dGVy
IH07CisgICAgCisgICAgdHJ5IHsKKyAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9v
IiwgZGVzYyk7CisgICAgfQorICAgIGNhdGNoIChlKSB7CisgICAgICBpZiAoZSBpbnN0YW5jZW9m
IFR5cGVFcnJvciAmJgorICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFs
c2UpKSB7CisgICAgICAgIHJldHVybiB0cnVlOworICAgICAgfQorICAgIH0KKyB9LAorCitwcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5k
ZWZpbmVQcm9wZXJ0eSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjYtMy05LmpzCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjIuMy42LTQtMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjYtNC0xLmpzCShyZXZp
c2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuMi4zLjYtNC0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU2ICsxLDU2IEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotLyoNCi1TdGVwIDQgb2YgZGVmaW5lUHJvcGVydHkgY2FsbHMgdGhlIFtbRGVmaW5lT3duUHJv
cGVydHldXSBpbnRlcm5hbCBtZXRob2QNCi1vZiBPIHBhc3NpbmcgJ3RydWUnIGZvciB0aGUgVGhy
b3cgZmxhZy4gSW4gdGhpcyBjYXNlLCBzdGVwIDMgb2YNCi1bW0RlZmluZU93blByb3BlcnR5XV0g
cmVxdWlyZXMgdGhhdCBpdCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24gd2hlbg0KLWN1cnJl
bnQgaXMgdW5kZWZpbmVkIGFuZCBleHRlbnNpYmxlIGlzIGZhbHNlLiBUaGUgdmFsdWUgb2YgZGVz
YyBkb2VzIG5vdA0KLW1hdHRlci4NCi0qLw0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7DQotaWQ6ICIxNS4yLjMuNi00LTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTQtMS5qcyIsDQotDQotZGVzY3JpcHRpb246
ICJPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGFkZGluZyBwcm9w
ZXJ0aWVzIHRvIG5vbi1leHRlbnNpYmxlIG9iamVjdHMiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgew0KLSAgdmFyIG8gPSB7fTsNCi0gIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhv
KTsNCi0NCi0gIHRyeSB7DQotICAgIHZhciBkZXNjID0geyB2YWx1ZTogMSB9Ow0KLSAgICBPYmpl
Y3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KLSAgfQ0KLSAgY2F0Y2ggKGUpIHsN
Ci0gICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KLSAgICAgICAgICAoby5oYXNP
d25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgew0KLSAgICAgIHJldHVybiB0cnVlOw0KLSAg
ICB9DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQot
ICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmbkV4aXN0cyhPYmpl
Y3QucHJldmVudEV4dGVuc2lvbnMpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
CisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorCisvKgorU3RlcCA0IG9mIGRlZmluZVByb3BlcnR5IGNhbGxzIHRo
ZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kCitvZiBPIHBhc3NpbmcgJ3Ry
dWUnIGZvciB0aGUgVGhyb3cgZmxhZy4gSW4gdGhpcyBjYXNlLCBzdGVwIDMgb2YKK1tbRGVmaW5l
T3duUHJvcGVydHldXSByZXF1aXJlcyB0aGF0IGl0IHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlv
biB3aGVuCitjdXJyZW50IGlzIHVuZGVmaW5lZCBhbmQgZXh0ZW5zaWJsZSBpcyBmYWxzZS4gVGhl
IHZhbHVlIG9mIGRlc2MgZG9lcyBub3QKK21hdHRlci4KKyovCisKKworRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsKK2lkOiAiMTUuMi4zLjYtNC0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xLmpzIiwKKworZGVzY3JpcHRp
b246ICJPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGFkZGluZyBw
cm9wZXJ0aWVzIHRvIG5vbi1leHRlbnNpYmxlIG9iamVjdHMiLAorCit0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsKKyAgdmFyIG8gPSB7fTsKKyAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG8p
OworCisgIHRyeSB7CisgICAgdmFyIGRlc2MgPSB7IHZhbHVlOiAxIH07CisgICAgT2JqZWN0LmRl
ZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsKKyAgfQorICBjYXRjaCAoZSkgeworICAgICAg
aWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYKKyAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0
eSgiZm9vIikgPT09IGZhbHNlKSkgeworICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICB9Cisg
fSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0
cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuRXhpc3RzKE9iamVjdC5wcmV2ZW50RXh0ZW5z
aW9ucyk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjYtNC0xLmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjIuMy42LTQtNS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjYtNC01LmpzCShyZXZpc2lvbiAxOTk1
NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
Mi4zLjYtNC01LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDY4ICsxLDY4IEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotLyoNCi1T
dGVwIDQgb2YgZGVmaW5lUHJvcGVydHkgY2FsbHMgdGhlIFtbRGVmaW5lT3duUHJvcGVydHldXSBp
bnRlcm5hbCBtZXRob2QNCi1vZiBPIHRvIGRlZmluZSB0aGUgcHJvcGVydHkuIFN0ZXAgNiBvZiBb
W0RlZmluZU93blByb3BlcnR5XV0gcmV0dXJucyBpZg0KLWV2ZXJ5IGZpZWxkIG9mIGRlc2MgYWxz
byBvY2N1cnMgaW4gY3VycmVudCBhbmQgZXZlcnkgZmllbGQgaW4gZGVzYyBoYXMNCi10aGUgc2Ft
ZSB2YWx1ZSBhcyBjdXJyZW50Lg0KLSovDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsN
Ci1pZDogIjE1LjIuMy42LTQtNSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
Mi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9i
amVjdC5kZWZpbmVQcm9wZXJ0eSBpcyBuby1vcCBpZiBjdXJyZW50IGFuZCBkZXNjIGFyZSB0aGUg
c2FtZSBkYXRhIGRlc2MiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgZnVu
Y3Rpb24gc2FtZURhdGFEZXNjcmlwdG9yVmFsdWVzKGQxLCBkMikgew0KLSAgICByZXR1cm4gKGQx
LnZhbHVlID09PSBkMi52YWx1ZSAmJg0KLSAgICAgICAgICAgIGQxLmVudW1lcmFibGUgPT09IGQy
LmVudW1lcmFibGUgJiYNCi0gICAgICAgICAgICBkMS53cml0YWJsZSA9PT0gZDIud3JpdGFibGUg
JiYNCi0gICAgICAgICAgICBkMS5jb25maWd1cmFibGUgPT09IGQyLmNvbmZpZ3VyYWJsZSk7DQot
ICB9DQotDQotICB2YXIgbyA9IHt9Ow0KLQ0KLSAgLy8gY3JlYXRlIGEgZGF0YSB2YWx1ZWQgcHJv
cGVydHkgd2l0aCB0aGUgZm9sbG93aW5nIGF0dHJpYnV0ZXM6DQotICAvLyB2YWx1ZTogMTAxLCBl
bnVtZXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlDQotICBv
WyJmb28iXSA9IDEwMTsNCi0NCi0gIC8vIHF1ZXJ5IGZvciwgYW5kIHNhdmUsIHRoZSBkZXNjLiBB
IHN1YnNlcXVlbnQgY2FsbCB0byBkZWZpbmVQcm9wZXJ0eQ0KLSAgLy8gd2l0aCB0aGUgc2FtZSBk
ZXNjIHNob3VsZCBub3QgZGlzdHVyYiB0aGUgcHJvcGVydHkgZGVmaW5pdGlvbi4NCi0gIHZhciBk
MSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOyAgDQotDQotICAv
LyBub3csIHJlZGVmaW5lIHRoZSBwcm9wZXJ0eSB3aXRoIHRoZSBzYW1lIGRlc2NyaXB0b3INCi0g
IC8vIHRoZSBwcm9wZXJ0eSBkZWZpbnRpb24gc2hvdWxkIG5vdCBnZXQgZGlzdHVyYmVkLg0KLSAg
dmFyIGRlc2MgPSB7IHZhbHVlOiAxMDEsIGVudW1lcmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVl
LCBjb25maWd1cmFibGU6IHRydWUgfTsNCi0gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9v
IiwgZGVzYyk7DQotDQotICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KG8sICJmb28iKTsgDQotDQotICBpZiAoc2FtZURhdGFEZXNjcmlwdG9yVmFsdWVzKGQxLCBkMikg
PT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KSAmJiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsN
Ci0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworLyoK
K1N0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1d
IGludGVybmFsIG1ldGhvZAorb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBTdGVwIDYgb2Yg
W1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHJldHVybnMgaWYKK2V2ZXJ5IGZpZWxkIG9mIGRlc2MgYWxz
byBvY2N1cnMgaW4gY3VycmVudCBhbmQgZXZlcnkgZmllbGQgaW4gZGVzYyBoYXMKK3RoZSBzYW1l
IHZhbHVlIGFzIGN1cnJlbnQuCisqLworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6
ICIxNS4yLjMuNi00LTUiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIu
My8xNS4yLjMuNi8xNS4yLjMuNi00LTUuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5kZWZp
bmVQcm9wZXJ0eSBpcyBuby1vcCBpZiBjdXJyZW50IGFuZCBkZXNjIGFyZSB0aGUgc2FtZSBkYXRh
IGRlc2MiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgZnVuY3Rpb24gc2FtZURh
dGFEZXNjcmlwdG9yVmFsdWVzKGQxLCBkMikgeworICAgIHJldHVybiAoZDEudmFsdWUgPT09IGQy
LnZhbHVlICYmCisgICAgICAgICAgICBkMS5lbnVtZXJhYmxlID09PSBkMi5lbnVtZXJhYmxlICYm
CisgICAgICAgICAgICBkMS53cml0YWJsZSA9PT0gZDIud3JpdGFibGUgJiYKKyAgICAgICAgICAg
IGQxLmNvbmZpZ3VyYWJsZSA9PT0gZDIuY29uZmlndXJhYmxlKTsKKyAgfQorCisgIHZhciBvID0g
e307CisKKyAgLy8gY3JlYXRlIGEgZGF0YSB2YWx1ZWQgcHJvcGVydHkgd2l0aCB0aGUgZm9sbG93
aW5nIGF0dHJpYnV0ZXM6CisgIC8vIHZhbHVlOiAxMDEsIGVudW1lcmFibGU6IHRydWUsIHdyaXRh
YmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUKKyAgb1siZm9vIl0gPSAxMDE7CisKKyAgLy8g
cXVlcnkgZm9yLCBhbmQgc2F2ZSwgdGhlIGRlc2MuIEEgc3Vic2VxdWVudCBjYWxsIHRvIGRlZmlu
ZVByb3BlcnR5CisgIC8vIHdpdGggdGhlIHNhbWUgZGVzYyBzaG91bGQgbm90IGRpc3R1cmIgdGhl
IHByb3BlcnR5IGRlZmluaXRpb24uCisgIHZhciBkMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IobywgImZvbyIpOyAgCisKKyAgLy8gbm93LCByZWRlZmluZSB0aGUgcHJvcGVydHkg
d2l0aCB0aGUgc2FtZSBkZXNjcmlwdG9yCisgIC8vIHRoZSBwcm9wZXJ0eSBkZWZpbnRpb24gc2hv
dWxkIG5vdCBnZXQgZGlzdHVyYmVkLgorICB2YXIgZGVzYyA9IHsgdmFsdWU6IDEwMSwgZW51bWVy
YWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9OworICBPYmpl
Y3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOworCisgIHZhciBkMiA9IE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOyAKKworICBpZiAoc2FtZURhdGFEZXNj
cmlwdG9yVmFsdWVzKGQxLCBkMikgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQor
IH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlz
dHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNi00LTUuanMKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjYtNC02LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNi00LTYuanMJKHJldmlz
aW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuNi00LTYuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNzIgKzEsNzIgQEAKLS8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0N
Ci0vKg0KLVN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9w
ZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KLW9mIE8gdG8gZGVmaW5lIHRoZSBwcm9wZXJ0eS4gU3Rl
cCA2IG9mIFtbRGVmaW5lT3duUHJvcGVydHldXSByZXR1cm5zIGlmDQotZXZlcnkgZmllbGQgb2Yg
ZGVzYyBhbHNvIG9jY3VycyBpbiBjdXJyZW50IGFuZCBldmVyeSBmaWVsZCBpbiBkZXNjIGhhcw0K
LXRoZSBzYW1lIHZhbHVlIGFzIGN1cnJlbnQuDQotKi8NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggew0KLWlkOiAiMTUuMi4zLjYtNC02IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYuanMiLA0KLQ0KLWRlc2NyaXB0
aW9uOiAiT2JqZWN0LmRlZmluZVByb3BlcnR5IGlzIG5vLW9wIGlmIGN1cnJlbnQgYW5kIGRlc2Mg
YXJlIHRoZSBzYW1lIGFjY2Vzc29yIGRlc2MiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgew0KLSAgZnVuY3Rpb24gc2FtZUFjY2Vzc29yRGVzY3JpcHRvclZhbHVlcyhkMSwgZDIpIHsN
Ci0gICAgcmV0dXJuIChkMS5nZXQgPT0gZDIuZ2V0ICYmDQotICAgICAgICAgICAgZDEuZW51bWVy
YWJsZSA9PSBkMi5lbnVtZXJhYmxlICYmDQotICAgICAgICAgICAgZDEuY29uZmlndXJhYmxlID09
IGQyLmNvbmZpZ3VyYWJsZSk7DQotICB9DQotDQotICB2YXIgbyA9IHt9Ow0KLQ0KLSAgLy8gY3Jl
YXRlIGFuIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggdGhlIGZvbGxvd2luZyBhdHRyaWJ1dGVzOg0K
LSAgLy8gZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlDQotICB2YXIgZGVzYyA9
IHsNCi0gICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHt9LA0KLSAgICAgICAgICAgICAg
IGVudW1lcmFibGU6IHRydWUsDQotICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQot
ICAgICAgICAgICAgIH07DQotDQotICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRl
c2MpOw0KLQ0KLSAgLy8gcXVlcnkgZm9yLCBhbmQgc2F2ZSwgdGhlIGRlc2MuIEEgc3Vic2VxdWVu
dCBjYWxsIHRvIGRlZmluZVByb3BlcnR5DQotICAvLyB3aXRoIHRoZSBzYW1lIGRlc2Mgc2hvdWxk
IG5vdCBkaXN0dXJiIHRoZSBwcm9wZXJ0eSBkZWZpbml0aW9uLg0KLSAgdmFyIGQxID0gT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7ICANCi0NCi0gIC8vIG5vdywgcmVk
ZWZpbmUgdGhlIHByb3BlcnR5IHdpdGggdGhlIHNhbWUgZGVzY3JpcHRvcg0KLSAgLy8gdGhlIHBy
b3BlcnR5IGRlZmludGlvbiBzaG91bGQgbm90IGdldCBkaXN0dXJiZWQuDQotICBPYmplY3QuZGVm
aW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KLQ0KLSAgdmFyIGQyID0gT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7IA0KLQ0KLSAgaWYgKHNhbWVBY2Nlc3NvckRl
c2NyaXB0b3JWYWx1ZXMoZDEsIGQyKSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0g
IH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVy
biBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuRXhpc3RzKE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
CisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorCisvKgorU3RlcCA0IG9mIGRlZmluZVByb3BlcnR5IGNhbGxzIHRo
ZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kCitvZiBPIHRvIGRlZmluZSB0
aGUgcHJvcGVydHkuIFN0ZXAgNiBvZiBbW0RlZmluZU93blByb3BlcnR5XV0gcmV0dXJucyBpZgor
ZXZlcnkgZmllbGQgb2YgZGVzYyBhbHNvIG9jY3VycyBpbiBjdXJyZW50IGFuZCBldmVyeSBmaWVs
ZCBpbiBkZXNjIGhhcwordGhlIHNhbWUgdmFsdWUgYXMgY3VycmVudC4KKyovCisKK0VTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy42LTQtNiIsCisKK3BhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTQtNi5qcyIsCisKK2Rl
c2NyaXB0aW9uOiAiT2JqZWN0LmRlZmluZVByb3BlcnR5IGlzIG5vLW9wIGlmIGN1cnJlbnQgYW5k
IGRlc2MgYXJlIHRoZSBzYW1lIGFjY2Vzc29yIGRlc2MiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsKKyAgZnVuY3Rpb24gc2FtZUFjY2Vzc29yRGVzY3JpcHRvclZhbHVlcyhkMSwgZDIp
IHsKKyAgICByZXR1cm4gKGQxLmdldCA9PSBkMi5nZXQgJiYKKyAgICAgICAgICAgIGQxLmVudW1l
cmFibGUgPT0gZDIuZW51bWVyYWJsZSAmJgorICAgICAgICAgICAgZDEuY29uZmlndXJhYmxlID09
IGQyLmNvbmZpZ3VyYWJsZSk7CisgIH0KKworICB2YXIgbyA9IHt9OworCisgIC8vIGNyZWF0ZSBh
biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoIHRoZSBmb2xsb3dpbmcgYXR0cmlidXRlczoKKyAgLy8g
ZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlCisgIHZhciBkZXNjID0geworICAg
ICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7fSwKKyAgICAgICAgICAgICAgIGVudW1lcmFi
bGU6IHRydWUsCisgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKKyAgICAgICAgICAg
ICB9OworCisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7CisKKyAgLy8g
cXVlcnkgZm9yLCBhbmQgc2F2ZSwgdGhlIGRlc2MuIEEgc3Vic2VxdWVudCBjYWxsIHRvIGRlZmlu
ZVByb3BlcnR5CisgIC8vIHdpdGggdGhlIHNhbWUgZGVzYyBzaG91bGQgbm90IGRpc3R1cmIgdGhl
IHByb3BlcnR5IGRlZmluaXRpb24uCisgIHZhciBkMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IobywgImZvbyIpOyAgCisKKyAgLy8gbm93LCByZWRlZmluZSB0aGUgcHJvcGVydHkg
d2l0aCB0aGUgc2FtZSBkZXNjcmlwdG9yCisgIC8vIHRoZSBwcm9wZXJ0eSBkZWZpbnRpb24gc2hv
dWxkIG5vdCBnZXQgZGlzdHVyYmVkLgorICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIs
IGRlc2MpOworCisgIHZhciBkMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iobywg
ImZvbyIpOyAKKworICBpZiAoc2FtZUFjY2Vzc29yRGVzY3JpcHRvclZhbHVlcyhkMSwgZDIpID09
PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0
eSkgJiYgZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjYtNC02LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy43
LTAtMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjctMC0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjctMC0xLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDM1ICsxLDM1IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
DQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsNCi1pZDogIjE1LjIuMy43LTAtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMC0xLmpzIiwNCi0NCi1kZXNjcmlw
dGlvbjogIk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZiA9IE9iamVjdC5kZWZp
bmVQcm9wZXJ0aWVzOw0KLSAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KLSAgICBy
ZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IK
Ky8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMu
Ny0wLTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMu
Ny8xNS4yLjMuNy0wLTEuanMiLAorCitkZXNjcmlwdGlvbjogIk9iamVjdC5kZWZpbmVQcm9wZXJ0
aWVzIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgeworICB2YXIgZiA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzOworICBpZiAodHlwZW9mKGYp
ID09PSAiZnVuY3Rpb24iKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9Cit9KTsKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuNy0wLTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjctMC0yLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuNy0wLTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuNy0wLTIuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMzggKzEsMzggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
Uw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0K
LS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
ew0KLWlkOiAiMTUuMi4zLjctMC0yIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0wLTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAi
T2JqZWN0LmRlZmluZVByb3BlcnRpZXMgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAy
IHBhcmFtZXRlcnMiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgaWYgKE9i
amVjdC5kZWZpbmVQcm9wZXJ0aWVzLmxlbmd0aCA9PT0gMikgew0KLSAgICByZXR1cm4gdHJ1ZTsN
Ci0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJl
dHVybiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydGllcyk7DQotIH0NCi19KTsNCisvLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsKK2lkOiAiMTUuMi4zLjctMC0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMC0yLmpzIiwKKworZGVzY3JpcHRpb246
ICJPYmplY3QuZGVmaW5lUHJvcGVydGllcyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5n
IDIgcGFyYW1ldGVycyIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZiAoT2Jq
ZWN0LmRlZmluZVByb3BlcnRpZXMubGVuZ3RoID09PSAyKSB7CisgICAgcmV0dXJuIHRydWU7Cisg
IH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZu
RXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4y
LjMuNy0wLTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjctMS5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4z
LjctMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy43LTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDMg
KzEsNDMgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4z
LjctMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4z
LjcvMTUuMi4zLjctMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZGVmaW5lUHJvcGVy
dGllcyB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVj
dCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICAgIHRyeSB7DQotICAgICAg
T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoMCwge30pOw0KLSAgICB9DQotICAgIGNhdGNoIChlKSB7
DQotICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCi0gICAgICAgIHJldHVybiB0
cnVlOw0KLSAgICAgIH0NCi0gICAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKTsN
Ci0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4yLjMuNy0xIiwKKworcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMS5qcyIsCisK
K2Rlc2NyaXB0aW9uOiAiT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciBp
ZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3QiLAorCit0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsKKyAgICB0cnkgeworICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoMCwg
e30pOworICAgIH0KKyAgICBjYXRjaCAoZSkgeworICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBl
RXJyb3IpIHsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICB9CisgICAgfQorIH0sCisKK3By
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0
LmRlZmluZVByb3BlcnRpZXMpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy43LTEuanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjgtMC0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuOC0wLTEuanMJKHJl
dmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4yLjMuOC0wLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzUgKzEsMzUgQEAK
LS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0v
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAN
Ci0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjgtMC0xIiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4y
LjMuOC0wLTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiT2JqZWN0LnNlYWwgbXVzdCBleGlzdCBh
cyBhIGZ1bmN0aW9uIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBm
ID0gT2JqZWN0LnNlYWw7DQotICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQotICAg
IHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisv
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIu
My44LTAtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIu
My44LzE1LjIuMy44LTAtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiT2JqZWN0LnNlYWwgbXVzdCBl
eGlzdCBhcyBhIGZ1bmN0aW9uIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZh
ciBmID0gT2JqZWN0LnNlYWw7CisgIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsKKyAg
ICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy44LTAtMS5qcwpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuOC0wLTIuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy44LTAtMi5qcwko
cmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjIuMy44LTAtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBA
QAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0K
LS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuOC0wLTIi
LA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy44LzE1
LjIuMy44LTAtMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3Quc2VhbCBtdXN0IGV4aXN0
IGFzIGEgZnVuY3Rpb24gdGFraW5nIDEgcGFyYW1ldGVyIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsNCi0gIGlmIChPYmplY3Quc2VhbC5sZW5ndGggPT09IDEpIHsNCi0gICAgcmV0
dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LnNlYWwpOw0KLSB9DQotfSk7DQorLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7CitpZDogIjE1LjIuMy44LTAtMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjIvMTUuMi4zLzE1LjIuMy44LzE1LjIuMy44LTAtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAi
T2JqZWN0LnNlYWwgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlciIs
CisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZiAoT2JqZWN0LnNlYWwubGVuZ3Ro
ID09PSAxKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5zZWFsKTsKKyB9Cit9
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4yLjMuOC0wLTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1z
dHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4z
LjgtMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuMi4zLjgtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy44LTEuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDMgKzEsNDMgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggew0KLWlkOiAiMTUuMi4zLjgtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJP
YmplY3Quc2VhbCB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90
IE9iamVjdCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICAgIHRyeSB7DQot
ICAgICAgT2JqZWN0LnNlYWwoMCk7DQotICAgIH0NCi0gICAgY2F0Y2ggKGUpIHsNCi0gICAgICBp
ZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KLSAgICAgICAgcmV0dXJuIHRydWU7DQotICAg
ICAgfQ0KLSAgICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LnNlYWwpOw0KLSB9DQotfSk7DQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7CitpZDogIjE1LjIuMy44LTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4y
LzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0xLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3Qu
c2VhbCB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVj
dCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgIHRyeSB7CisgICAgICBPYmpl
Y3Quc2VhbCgwKTsKKyAgICB9CisgICAgY2F0Y2ggKGUpIHsKKyAgICAgIGlmIChlIGluc3RhbmNl
b2YgVHlwZUVycm9yKSB7CisgICAgICAgIHJldHVybiB0cnVlOworICAgICAgfQorICAgIH0KKyB9
LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3Rz
KE9iamVjdC5zZWFsKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuOC0xLmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy45LTAtMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjktMC0xLmpzCShyZXZpc2lv
biAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMi4zLjktMC0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM1ICsxLDM1IEBACi0vLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
Rg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjIuMy45LTAtMSIsDQotDQot
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjkt
MC0xLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIk9iamVjdC5mcmVlemUgbXVzdCBleGlzdCBhcyBh
IGZ1bmN0aW9uIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBmID0g
T2JqZWN0LmZyZWV6ZTsNCi0gIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCi0gICAg
cmV0dXJuIHRydWU7DQotICB9DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMi4z
LjktMC0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4z
LjkvMTUuMi4zLjktMC0xLmpzIiwKKworZGVzY3JpcHRpb246ICJPYmplY3QuZnJlZXplIG11c3Qg
ZXhpc3QgYXMgYSBmdW5jdGlvbiIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2
YXIgZiA9IE9iamVjdC5mcmVlemU7CisgIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsK
KyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy45LTAtMS5q
cwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuOS0wLTIuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIuMy45LTAtMi5q
cwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjIuMy45LTAtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwz
OCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8v
IA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQot
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0v
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0K
LS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4yLjMuOS0w
LTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy45
LzE1LjIuMy45LTAtMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJPYmplY3QuZnJlZXplIG11c3Qg
ZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMSBwYXJhbWV0ZXIiLA0KLQ0KLXRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgew0KLSAgaWYgKE9iamVjdC5mcmVlemUubGVuZ3RoID09PSAxKSB7DQot
ICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5mcmVlemUpOw0KLSB9DQotfSk7
DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisv
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy45LTAtMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy45LzE1LjIuMy45LTAtMi5qcyIsCisKK2Rlc2Ny
aXB0aW9uOiAiT2JqZWN0LmZyZWV6ZSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDEg
cGFyYW1ldGVyIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGlmIChPYmplY3Qu
ZnJlZXplLmxlbmd0aCA9PT0gMSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3Qu
ZnJlZXplKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4yLjMuOS0wLTIuanMKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMi4zLjktMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMi4zLjktMS5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjIu
My45LTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDMgKzEsNDMgQEAKLS8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
DQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMi4zLjktMSIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMS5qcyIsDQotDQot
ZGVzY3JpcHRpb246ICJPYmplY3QuZnJlZXplIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBm
aXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsNCi0gICAgdHJ5IHsNCi0gICAgICBPYmplY3QuZnJlZXplKDApOw0KLSAgICB9DQotICAgIGNh
dGNoIChlKSB7DQotICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCi0gICAgICAg
IHJldHVybiB0cnVlOw0KLSAgICAgIH0NCi0gICAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5mcmVlemUpOw0K
LSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
CisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
CisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjIuMy45LTEiLAorCitwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0xLmpzIiwKKwor
ZGVzY3JpcHRpb246ICJPYmplY3QuZnJlZXplIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBm
aXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0IiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
CisgICAgdHJ5IHsKKyAgICAgIE9iamVjdC5mcmVlemUoMCk7CisgICAgfQorICAgIGNhdGNoIChl
KSB7CisgICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgeworICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICAgIH0KKyAgICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZnJlZXplKTsKKyB9Cit9KTsKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4yLjMuOS0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuMi4xLTExLTEuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjMuMi4xLTExLTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjIuMS0xMS0xLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDM1ICsxLDM1IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
Ci0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsNCi1pZDogIjE1LjMuMi4xLTExLTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjMvMTUuMy4yLzE1LjMuMi4xLzE1LjMuMi4xLTExLTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9u
OiAiRHVwbGljYXRlIHNlcGVyYXRlIHBhcmFtZXRlciBuYW1lIGluIEZ1bmN0aW9uIGNvbnN0cnVj
dG9yIGFsbG93ZWQgaWYgYm9keSBub3Qgc3RyaWN0IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpDQoteyAgIA0KLSAgICBGdW5jdGlvbignYScsJ2EnLCdyZXR1cm47Jyk7DQotICAgIHJl
dHVybiB0cnVlOw0KLSB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjMuMi4xLTEx
LTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4zLzE1LjMuMi8xNS4zLjIuMS8x
NS4zLjIuMS0xMS0xLmpzIiwKKworZGVzY3JpcHRpb246ICJEdXBsaWNhdGUgc2VwZXJhdGUgcGFy
YW1ldGVyIG5hbWUgaW4gRnVuY3Rpb24gY29uc3RydWN0b3IgYWxsb3dlZCBpZiBib2R5IG5vdCBz
dHJpY3QiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpCit7ICAgCisgICAgRnVuY3Rpb24o
J2EnLCdhJywncmV0dXJuOycpOworICAgIHJldHVybiB0cnVlOworIH0KKworfSk7CgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuMy4yLjEtMTEtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w
LDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjIuMS0xMS0zLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4zLjIuMS0xMS0zLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMy4yLjEtMTEtMy5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzMyArMSwzMyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
DQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7DQotaWQ6ICIxNS4zLjIuMS0xMS0zIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS4zLzE1LjMuMi8xNS4zLjIuMS8xNS4zLjIuMS0xMS0zLmpzIiwNCi0NCi1kZXNjcmlwdGlv
bjogIkZ1bmN0aW9uIGNvbnN0cnVjdG9yIG1heSBoYXZlIGEgZm9ybWFsIHBhcmFtZXRlciBuYW1l
ZCAnZXZhbCcgaWYgYm9keSBpcyBub3Qgc3RyaWN0IG1vZGUiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgew0KLSAgRnVuY3Rpb24oJ2V2YWwnLCAncmV0dXJuOycpOw0KLSAgcmV0dXJu
IHRydWU7DQotICB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisv
Ly8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjMuMi4xLTExLTMiLAor
CitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4zLzE1LjMuMi8xNS4zLjIuMS8xNS4zLjIu
MS0xMS0zLmpzIiwKKworZGVzY3JpcHRpb246ICJGdW5jdGlvbiBjb25zdHJ1Y3RvciBtYXkgaGF2
ZSBhIGZvcm1hbCBwYXJhbWV0ZXIgbmFtZWQgJ2V2YWwnIGlmIGJvZHkgaXMgbm90IHN0cmljdCBt
b2RlIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIEZ1bmN0aW9uKCdldmFsJywg
J3JldHVybjsnKTsKKyAgcmV0dXJuIHRydWU7CisgIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuMi4x
LTExLTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitM
RgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMy4yLjEtMTEtNS5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMy4y
LjEtMTEtNS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuMi4xLTExLTUuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsMzQgKzEsMzQgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
Lg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAi
MTUuMy4yLjEtMTEtNSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMy8xNS4z
LjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtNS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJEdXBsaWNh
dGUgY29tYmluZWQgcGFyYW1ldGVyIG5hbWUgaW4gRnVuY3Rpb24gY29uc3RydWN0b3IgYWxsb3dl
ZCBpZiBib2R5IGlzIG5vdCBzdHJpY3QiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkN
Ci17ICAgDQotICAgIEZ1bmN0aW9uKCdhLGEnLCdyZXR1cm47Jyk7DQotICAgIHJldHVybiB0cnVl
Ow0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisv
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisv
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjMuMi4xLTExLTUiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4zLzE1LjMuMi8xNS4zLjIuMS8xNS4zLjIuMS0xMS01
LmpzIiwKKworZGVzY3JpcHRpb246ICJEdXBsaWNhdGUgY29tYmluZWQgcGFyYW1ldGVyIG5hbWUg
aW4gRnVuY3Rpb24gY29uc3RydWN0b3IgYWxsb3dlZCBpZiBib2R5IGlzIG5vdCBzdHJpY3QiLAor
Cit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpCit7ICAgCisgICAgRnVuY3Rpb24oJ2EsYScsJ3Jl
dHVybjsnKTsKKyAgICByZXR1cm4gdHJ1ZTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjIuMS0x
MS01LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuMy4yLTEuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuMy4yLTEu
anMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4zLjMuMi0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ0ICsxLDQ0
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjMuMy4yLTEi
LA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjMvMTUuMy4zLzE1LjMuMy4yLzE1
LjMuMy4yLTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiRnVuY3Rpb24ubGVuZ3RoIC0gZGF0YSBw
cm9wZXJ0eSB3aXRoIHZhbHVlIDEiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LQ0KLSAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEZ1bmN0aW9u
LCJsZW5ndGgiKTsNCi0gIGlmKGRlc2MudmFsdWUgPT09IDEgJiYNCi0gICAgIGRlc2Mud3JpdGFi
bGUgPT09IGZhbHNlICYmDQotICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAg
ICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpDQotICAgIHJldHVybiB0cnVlOyANCi0NCi0g
fSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uICgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAK
Ky8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggeworaWQ6ICIxNS4zLjMuMi0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
My8xNS4zLjMvMTUuMy4zLjIvMTUuMy4zLjItMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiRnVuY3Rp
b24ubGVuZ3RoIC0gZGF0YSBwcm9wZXJ0eSB3aXRoIHZhbHVlIDEiLAorCit0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsKKworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoRnVuY3Rpb24sImxlbmd0aCIpOworICBpZihkZXNjLnZhbHVlID09PSAxICYmCisgICAg
IGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmCisgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFs
c2UgJiYKKyAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlKQorICAgIHJldHVybiB0cnVl
OyAKKworIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gKCkgeworICByZXR1cm4gZm5FeGlz
dHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorCit9KTsKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4zLjMuMi0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCAr
MSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTAtMS5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuMy40LjUtMC0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMy40LjUtMC0xLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDM2ICsxLDM2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IN
Ci0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0v
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1p
ZDogIjE1LjMuNC41LTAtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMy8x
NS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMC0xLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkZ1bmN0
aW9uLnByb3RvdHlwZS5iaW5kIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiIsDQotDQotdGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZiA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5k
Ow0KLQ0KLSAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KLSAgICByZXR1cm4gdHJ1
ZTsNCi0gIH0NCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
Ly8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4zLjQuNS0wLTEiLAor
CitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQu
NS0wLTEuanMiLAorCitkZXNjcmlwdGlvbjogIkZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIG11c3Qg
ZXhpc3QgYXMgYSBmdW5jdGlvbiIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2
YXIgZiA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kOworCisgIGlmICh0eXBlb2YoZikgPT09ICJm
dW5jdGlvbiIpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0KK30pOwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjMuNC41LTAtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS0wLTIuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjMuNC41LTAtMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTAtMi5qcwkod29ya2luZyBjb3B5KQpA
QCAtMSwzOCArMSwzOCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQot
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6
ICIxNS4zLjQuNS0wLTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjMvMTUu
My40LzE1LjMuNC41LzE1LjMuNC41LTAtMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJGdW5jdGlv
bi5wcm90b3R5cGUuYmluZCBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDEgcGFyYW1l
dGVyIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmIChGdW5jdGlvbi5w
cm90b3R5cGUuYmluZC5sZW5ndGggPT09IDEpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQot
IH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5F
eGlzdHMoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
CitpZDogIjE1LjMuNC41LTAtMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjMv
MTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTAtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiRnVuY3Rp
b24ucHJvdG90eXBlLmJpbmQgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFt
ZXRlciIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZiAoRnVuY3Rpb24ucHJv
dG90eXBlLmJpbmQubGVuZ3RoID09PSAxKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAor
CitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEZ1
bmN0aW9uLnByb3RvdHlwZS5iaW5kKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS0wLTIu
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMy40LjUtMTMuYi0xLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS0x
My5iLTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS0xMy5iLTEuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
Lg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAi
MTUuMy40LjUtMTMuYi0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4zLzE1
LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0xMy5iLTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiRnVu
Y3Rpb24ucHJvdG90eXBlLmJpbmQsIGJvdW5kIGZuIGhhcyBhICdsZW5ndGgnIG93biBwcm9wZXJ0
eSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBmdW5jdGlvbiBmb28oKSB7
IH0NCi0gIHZhciBvID0ge307DQotICANCi0gIHZhciBiZiA9IGZvby5iaW5kKG8pOw0KLSAgaWYg
KGJmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0N
Ci0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBm
bkV4aXN0cyhGdW5jdGlvbi5wcm90b3R5cGUuYmluZCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTUuMy40LjUtMTMuYi0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTMuYi0xLmpzIiwKKworZGVzY3JpcHRpb246
ICJGdW5jdGlvbi5wcm90b3R5cGUuYmluZCwgYm91bmQgZm4gaGFzIGEgJ2xlbmd0aCcgb3duIHBy
b3BlcnR5IiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZ1bmN0aW9uIGZvbygp
IHsgfQorICB2YXIgbyA9IHt9OworICAKKyAgdmFyIGJmID0gZm9vLmJpbmQobyk7CisgIGlmIChi
Zi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0s
CisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMo
RnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTEz
LmItMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xG
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS0xMy5iLTIuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMu
NC41LTEzLmItMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTEzLmItMi5qcwkod29ya2luZyBjb3B5
KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
DQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQot
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQot
aWQ6ICIxNS4zLjQuNS0xMy5iLTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTEzLmItMi5qcyIsDQotDQotZGVzY3JpcHRpb246
ICJGdW5jdGlvbi5wcm90b3R5cGUuYmluZCwgJ2xlbmd0aCcgc2V0IHRvIHJlbWFpbmluZyBudW1i
ZXIgb2YgZXhwZWN0ZWQgYXJncyIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQot
ICBmdW5jdGlvbiBmb28oeCwgeSkgeyB9DQotICB2YXIgbyA9IHt9Ow0KLSAgDQotICB2YXIgYmYg
PSBmb28uYmluZChvKTsNCi0gIGlmIChiZi5sZW5ndGggPT09IDIpIHsNCi0gICAgcmV0dXJuIHRy
dWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQot
ICByZXR1cm4gZm5FeGlzdHMoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpOw0KLSB9DQotfSk7DQor
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7CitpZDogIjE1LjMuNC41LTEzLmItMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTEzLmItMi5qcyIsCisKK2Rl
c2NyaXB0aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsICdsZW5ndGgnIHNldCB0byByZW1h
aW5pbmcgbnVtYmVyIG9mIGV4cGVjdGVkIGFyZ3MiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKyAgZnVuY3Rpb24gZm9vKHgsIHkpIHsgfQorICB2YXIgbyA9IHt9OworICAKKyAgdmFy
IGJmID0gZm9vLmJpbmQobyk7CisgIGlmIChiZi5sZW5ndGggPT09IDIpIHsKKyAgICByZXR1cm4g
dHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICBy
ZXR1cm4gZm5FeGlzdHMoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpOworIH0KK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjMuNC41LTEzLmItMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMj
IC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS0xMy5i
LTMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjMuNC41LTEzLmItMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTEzLmItMy5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4zLjQuNS0xMy5iLTMiLA0KLQ0KLXBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTEzLmItMy5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuYmluZCwgJ2xlbmd0aCcgc2V0IHRv
IHJlbWFpbmluZyBudW1iZXIgb2YgZXhwZWN0ZWQgYXJncyAoYWxsIGFyZ3MgcHJlZmlsbGVkKSIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBmdW5jdGlvbiBmb28oeCwgeSkg
eyB9DQotICB2YXIgbyA9IHt9Ow0KLSAgDQotICB2YXIgYmYgPSBmb28uYmluZChvLCA0MiwgMTAx
KTsNCi0gIGlmIChiZi5sZW5ndGggPT09IDApIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQot
IH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5F
eGlzdHMoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
CitpZDogIjE1LjMuNC41LTEzLmItMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTEzLmItMy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAi
RnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsICdsZW5ndGgnIHNldCB0byByZW1haW5pbmcgbnVtYmVy
IG9mIGV4cGVjdGVkIGFyZ3MgKGFsbCBhcmdzIHByZWZpbGxlZCkiLAorCit0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsKKyAgZnVuY3Rpb24gZm9vKHgsIHkpIHsgfQorICB2YXIgbyA9IHt9Owor
ICAKKyAgdmFyIGJmID0gZm9vLmJpbmQobywgNDIsIDEwMSk7CisgIGlmIChiZi5sZW5ndGggPT09
IDApIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQp
OworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTEzLmItMy5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS4zLjQuNS0xMy5iLTQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTEzLmItNC5qcwkocmV2aXNpb24g
MTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjMuNC41LTEzLmItNC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0K
LQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4zLjQuNS0xMy5iLTQiLA0K
LQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMu
NC41LTEzLmItNC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuYmlu
ZCwgJ2xlbmd0aCcgc2V0IHRvIHJlbWFpbmluZyBudW1iZXIgb2YgZXhwZWN0ZWQgYXJncyAodGFy
Z2V0IHRha2VzIDAgYXJncykiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAg
ZnVuY3Rpb24gZm9vKCkgeyB9DQotICB2YXIgbyA9IHt9Ow0KLSAgDQotICB2YXIgYmYgPSBmb28u
YmluZChvKTsNCi0gIGlmIChiZi5sZW5ndGggPT09IDApIHsNCi0gICAgcmV0dXJuIHRydWU7DQot
ICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1
cm4gZm5FeGlzdHMoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpOw0KLSB9DQotfSk7DQorLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7CitpZDogIjE1LjMuNC41LTEzLmItNCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTEzLmItNC5qcyIsCisKK2Rlc2NyaXB0
aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsICdsZW5ndGgnIHNldCB0byByZW1haW5pbmcg
bnVtYmVyIG9mIGV4cGVjdGVkIGFyZ3MgKHRhcmdldCB0YWtlcyAwIGFyZ3MpIiwKKwordGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZ1bmN0aW9uIGZvbygpIHsgfQorICB2YXIgbyA9IHt9
OworICAKKyAgdmFyIGJmID0gZm9vLmJpbmQobyk7CisgIGlmIChiZi5sZW5ndGggPT09IDApIHsK
KyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpOworIH0K
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTEzLmItNC5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4zLjQuNS0xMy5iLTUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTEzLmItNS5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMu
NC41LTEzLmItNS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
DQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0v
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4zLjQuNS0xMy5iLTUiLA0KLQ0KLXBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTEz
LmItNS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuYmluZCwgJ2xl
bmd0aCcgc2V0IHRvIHJlbWFpbmluZyBudW1iZXIgb2YgZXhwZWN0ZWQgYXJncyAodGFyZ2V0IHBy
b3ZpZGVkIGV4dHJhIGFyZ3MpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0g
IGZ1bmN0aW9uIGZvbygpIHsgfQ0KLSAgdmFyIG8gPSB7fTsNCi0gIA0KLSAgdmFyIGJmID0gZm9v
LmJpbmQobywgNDIpOw0KLSAgaWYgKGJmLmxlbmd0aCA9PT0gMCkgew0KLSAgICByZXR1cm4gdHJ1
ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0g
IHJldHVybiBmbkV4aXN0cyhGdW5jdGlvbi5wcm90b3R5cGUuYmluZCk7DQotIH0NCi19KTsNCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsKK2lkOiAiMTUuMy40LjUtMTMuYi01IiwKKworcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTMuYi01LmpzIiwKKworZGVz
Y3JpcHRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuYmluZCwgJ2xlbmd0aCcgc2V0IHRvIHJlbWFp
bmluZyBudW1iZXIgb2YgZXhwZWN0ZWQgYXJncyAodGFyZ2V0IHByb3ZpZGVkIGV4dHJhIGFyZ3Mp
IiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZ1bmN0aW9uIGZvbygpIHsgfQor
ICB2YXIgbyA9IHt9OworICAKKyAgdmFyIGJmID0gZm9vLmJpbmQobywgNDIpOworICBpZiAoYmYu
bGVuZ3RoID09PSAwKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEZ1bmN0aW9uLnByb3Rv
dHlwZS5iaW5kKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS0xMy5iLTUuanMKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMy40LjUtMTUtMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMy40LjUtMTUtMS5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjMuNC41LTE1LTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDUgKzEsNDUgQEAK
LS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0v
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAN
Ci0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMy40LjUtMTUtMSIs
DQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUu
My40LjUtMTUtMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuYmlu
ZCwgJ2xlbmd0aCcgaXMgYSBkYXRhIHZhbHVlZCBvd24gcHJvcGVydHkiLA0KLQ0KLXRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgZnVuY3Rpb24gZm9vKCkgeyB9DQotICB2YXIgbyA9IHt9
Ow0KLSAgDQotICB2YXIgYmYgPSBmb28uYmluZChvKTsNCi0gIHZhciBkZXNjID0gT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihiZiwgJ2xlbmd0aCcpOw0KLSAgaWYgKGRlc2MuaGFzT3du
UHJvcGVydHkoJ3ZhbHVlJykgPT09IHRydWUgJiYNCi0gICAgICBkZXNjLmhhc093blByb3BlcnR5
KCdnZXQnKSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9
PT0gZmFsc2UpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9ICAgIA0KLSB9LA0KLQ0KLXByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEZ1bmN0aW9u
LnByb3RvdHlwZS5iaW5kKSAmJiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8v
IAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4zLjQuNS0xNS0xIiwKKwor
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUt
MTUtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsICdsZW5n
dGgnIGlzIGEgZGF0YSB2YWx1ZWQgb3duIHByb3BlcnR5IiwKKwordGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7CisgIGZ1bmN0aW9uIGZvbygpIHsgfQorICB2YXIgbyA9IHt9OworICAKKyAgdmFy
IGJmID0gZm9vLmJpbmQobyk7CisgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihiZiwgJ2xlbmd0aCcpOworICBpZiAoZGVzYy5oYXNPd25Qcm9wZXJ0eSgndmFsdWUn
KSA9PT0gdHJ1ZSAmJgorICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNl
ICYmCisgICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsKKyAgICBy
ZXR1cm4gdHJ1ZTsKKyAgfSAgICAKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKSAmJiBmbkV4
aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsKKyB9Cit9KTsKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4zLjQuNS0xNS0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTE1LTIuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjMuNC41LTE1LTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS0xNS0yLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDQ2ICsxLDQ2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
Ci0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsNCi1pZDogIjE1LjMuNC41LTE1LTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTE1LTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9u
OiAiRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsICdsZW5ndGgnIGlzIGEgZGF0YSB2YWx1ZWQgb3du
IHByb3BlcnR5IHdpdGggZGVmYXVsdCBhdHRyaWJ1dGVzIChmYWxzZSkiLA0KLQ0KLXRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgZnVuY3Rpb24gZm9vKCkgeyB9DQotICB2YXIgbyA9IHt9
Ow0KLSAgDQotICB2YXIgYmYgPSBmb28uYmluZChvKTsNCi0gIHZhciBkZXNjID0gT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihiZiwgJ2xlbmd0aCcpOw0KLSAgaWYgKGRlc2MudmFsdWUg
PT09IDAgJiYNCi0gICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQotICAgICAgZGVz
Yy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCi0gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PSB0cnVl
KSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEZ1bmN0aW9uLnByb3RvdHlwZS5i
aW5kKSAmJiBmbkV4aXN0cyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4zLjQuNS0xNS0yIiwKKworcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTUtMi5qcyIsCisK
K2Rlc2NyaXB0aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsICdsZW5ndGgnIGlzIGEgZGF0
YSB2YWx1ZWQgb3duIHByb3BlcnR5IHdpdGggZGVmYXVsdCBhdHRyaWJ1dGVzIChmYWxzZSkiLAor
Cit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgZnVuY3Rpb24gZm9vKCkgeyB9CisgIHZh
ciBvID0ge307CisgIAorICB2YXIgYmYgPSBmb28uYmluZChvKTsKKyAgdmFyIGRlc2MgPSBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGJmLCAnbGVuZ3RoJyk7CisgIGlmIChkZXNjLnZh
bHVlID09PSAwICYmCisgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBk
ZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJgorICAgICAgZGVzYy5jb25maWd1cmFibGUgPT0gdHJ1
ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhGdW5jdGlvbi5wcm90b3R5cGUuYmluZCkg
JiYgZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMy40LjUtMTUtMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS0x
Ni0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4zLjQuNS0xNi0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMy40LjUtMTYtMS5qcwko
d29ya2luZyBjb3B5KQpAQCAtMSw0MyArMSw0MyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7DQotaWQ6ICIxNS4zLjQuNS0xNi0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0xNi0xLmpzIiwNCi0NCi1kZXNj
cmlwdGlvbjogIkZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLCBbW0V4dGVuc2libGVdXSBvZiB0aGUg
Ym91bmQgZm4gaXMgdHJ1ZSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBm
dW5jdGlvbiBmb28oKSB7IH0NCi0gIHZhciBvID0ge307DQotICANCi0gIHZhciBiZiA9IGZvby5i
aW5kKG8pOw0KLSAgdmFyIGV4ID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShiZik7DQotICBpZiAoZXgg
PT09IHRydWUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoRnVuY3Rpb24ucHJv
dG90eXBlLmJpbmQpICYmIGZuRXhpc3RzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ip
Ow0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisv
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisv
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjMuNC41LTE2LTEiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0xNi0x
LmpzIiwKKworZGVzY3JpcHRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuYmluZCwgW1tFeHRlbnNp
YmxlXV0gb2YgdGhlIGJvdW5kIGZuIGlzIHRydWUiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKyAgZnVuY3Rpb24gZm9vKCkgeyB9CisgIHZhciBvID0ge307CisgIAorICB2YXIgYmYg
PSBmb28uYmluZChvKTsKKyAgdmFyIGV4ID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShiZik7CisgIGlm
IChleCA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhGdW5jdGlvbi5wcm90
b3R5cGUuYmluZCkgJiYgZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7
CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMy40LjUtMTYtMS5qcwpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4zLjQuNS0yLTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTItMS5qcwkocmV2aXNpb24gMTk5NTQ5KQor
KysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41
LTItMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1MSArMSw1MSBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLS8qDQotMTUuMy40
LjUgc3RlcCAyIHNwZWNpZmllcyB0aGF0IGEgVHlwZUVycm9yIG11c3QgYmUgdGhyb3duIGlmIHRo
ZSBUYXJnZXQgaXMgbm90IGNhbGxhYmxlLg0KLSovDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsNCi1pZDogIjE1LjMuNC41LTItMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMi0xLmpzIiwNCi0NCi1kZXNjcmlwdGlv
bjogIkZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIHRocm93cyBUeXBlRXJyb3IgaWYgdGhlIFRhcmdl
dCBpcyBub3QgY2FsbGFibGUgKGJ1dCBhbiBpbnN0YW5jZSBvZiBGdW5jdGlvbikiLA0KLQ0KLXRl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgZm9vLnByb3RvdHlwZSA9IEZ1bmN0aW9uLnBy
b3RvdHlwZTsNCi0gIC8vIGR1bW15IGZ1bmN0aW9uDQotICBmdW5jdGlvbiBmb28oKSB7fQ0KLSAg
dmFyIGYgPSBuZXcgZm9vKCk7DQotDQotICB0cnkgew0KLSAgICBmLmJpbmQoKTsNCi0gIH0NCi0g
IGNhdGNoIChlKSB7DQotICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQotICAgICAg
cmV0dXJuIHRydWU7DQotICAgIH0NCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhGdW5jdGlvbi5wcm90b3R5cGUuYmlu
ZCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8K
Ky8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAK
Ky8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisK
Ky8qCisxNS4zLjQuNSBzdGVwIDIgc3BlY2lmaWVzIHRoYXQgYSBUeXBlRXJyb3IgbXVzdCBiZSB0
aHJvd24gaWYgdGhlIFRhcmdldCBpcyBub3QgY2FsbGFibGUuCisqLworCitFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggeworaWQ6ICIxNS4zLjQuNS0yLTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yLTEuanMiLAorCitkZXNjcmlw
dGlvbjogIkZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIHRocm93cyBUeXBlRXJyb3IgaWYgdGhlIFRh
cmdldCBpcyBub3QgY2FsbGFibGUgKGJ1dCBhbiBpbnN0YW5jZSBvZiBGdW5jdGlvbikiLAorCit0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgZm9vLnByb3RvdHlwZSA9IEZ1bmN0aW9uLnBy
b3RvdHlwZTsKKyAgLy8gZHVtbXkgZnVuY3Rpb24KKyAgZnVuY3Rpb24gZm9vKCkge30KKyAgdmFy
IGYgPSBuZXcgZm9vKCk7CisKKyAgdHJ5IHsKKyAgICBmLmJpbmQoKTsKKyAgfQorICBjYXRjaCAo
ZSkgeworICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7CisgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICB9CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsK
KyAgcmV0dXJuIGZuRXhpc3RzKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKTsKKyB9Cit9KTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4zLjQuNS0yLTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQoj
IyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMy40LjUtMi0y
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS4zLjQuNS0yLTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS0yLTIuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNTEgKzEsNTEgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0vKg0KLTE1LjMuNC41IHN0ZXAgMiBzcGVj
aWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5v
dCBjYWxsYWJsZS4NCi0qLw0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIx
NS4zLjQuNS0yLTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjMvMTUuMy40
LzE1LjMuNC41LzE1LjMuNC41LTItMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJGdW5jdGlvbi5w
cm90b3R5cGUuYmluZCB0aHJvd3MgVHlwZUVycm9yIGlmIHRoZSBUYXJnZXQgaXMgbm90IGNhbGxh
YmxlIChiaW5kIGF0dGFjaGVkIHRvIG9iamVjdCkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgew0KLSAgLy8gZHVtbXkgZnVuY3Rpb24gDQotICBmdW5jdGlvbiBmb28oKSB7fQ0KLSAg
dmFyIGYgPSBuZXcgZm9vKCk7DQotICBmLmJpbmQgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZDsN
Ci0NCi0gIHRyeSB7DQotICAgIGYuYmluZCgpOw0KLSAgfQ0KLSAgY2F0Y2ggKGUpIHsNCi0gICAg
aWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCi0gICAgICByZXR1cm4gdHJ1ZTsNCi0gICAg
fQ0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAg
cmV0dXJuIGZuRXhpc3RzKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKTsNCi0gfQ0KLX0pOw0KKy8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworLyoKKzE1LjMuNC41IHN0ZXAg
MiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0
IGlzIG5vdCBjYWxsYWJsZS4KKyovCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDog
IjE1LjMuNC41LTItMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjMvMTUuMy40
LzE1LjMuNC41LzE1LjMuNC41LTItMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiRnVuY3Rpb24ucHJv
dG90eXBlLmJpbmQgdGhyb3dzIFR5cGVFcnJvciBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJs
ZSAoYmluZCBhdHRhY2hlZCB0byBvYmplY3QpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7CisgIC8vIGR1bW15IGZ1bmN0aW9uIAorICBmdW5jdGlvbiBmb28oKSB7fQorICB2YXIgZiA9
IG5ldyBmb28oKTsKKyAgZi5iaW5kID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQ7CisKKyAgdHJ5
IHsKKyAgICBmLmJpbmQoKTsKKyAgfQorICBjYXRjaCAoZSkgeworICAgIGlmIChlIGluc3RhbmNl
b2YgVHlwZUVycm9yKSB7CisgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgIH0KKyB9LAorCitw
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEZ1bmN0
aW9uLnByb3RvdHlwZS5iaW5kKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS0yLTIuanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMy40LjUtMi0zLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS0yLTMuanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS4zLjQuNS0yLTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDMgKzEsNDMg
QEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyAN
Ci0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0v
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiANCi0NCi0vKg0KLTE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBt
dXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCi0qLw0KLQ0KLUVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4zLjQuNS0yLTMiLA0KLQ0KLXBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItMy5q
cyIsDQotDQotZGVzY3JpcHRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBhbGxvd3MgVGFy
Z2V0IHRvIGJlIGEgY29uc3RydWN0b3IgKE51bWJlcikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgew0KLSAgdmFyIGJuYyA9IE51bWJlci5iaW5kKG51bGwpOw0KLSAgdmFyIG4gPSBi
bmMoNDIpOw0KLSAgaWYgKG4gPT09IDQyKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9
LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhp
c3RzKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworLyoKKzE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMg
dGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxs
YWJsZS4KKyovCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjMuNC41LTIt
MyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1
LjMuNC41LTItMy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQg
YWxsb3dzIFRhcmdldCB0byBiZSBhIGNvbnN0cnVjdG9yIChOdW1iZXIpIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBibmMgPSBOdW1iZXIuYmluZChudWxsKTsKKyAgdmFy
IG4gPSBibmMoNDIpOworICBpZiAobiA9PT0gNDIpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQor
IH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlz
dHMoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41
LTItMy5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xG
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS0yLTQuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41
LTItNC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTItNC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0
MyArMSw0MyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
DQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQot
Ly8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIA0KLQ0KLS8qDQotMTUuMy40LjUgc3RlcCAyIHNwZWNpZmllcyB0aGF0IGEgVHlw
ZUVycm9yIG11c3QgYmUgdGhyb3duIGlmIHRoZSBUYXJnZXQgaXMgbm90IGNhbGxhYmxlLg0KLSov
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjMuNC41LTItNCIsDQot
DQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40
LjUtMi00LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIGFs
bG93cyBUYXJnZXQgdG8gYmUgYSBjb25zdHJ1Y3RvciAoU3RyaW5nKSIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgYnNjID0gU3RyaW5nLmJpbmQobnVsbCk7DQotICB2
YXIgcyA9IGJzYygiaGVsbG8gd29ybGQiKTsNCi0gIGlmIChzID09PSAiaGVsbG8gd29ybGQiKSB7
DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5k
KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bwor
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAor
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKwor
LyoKKzE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRo
cm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4KKyovCisKK0VTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7CitpZDogIjE1LjMuNC41LTItNCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItNC5qcyIsCisKK2Rlc2NyaXB0
aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgYWxsb3dzIFRhcmdldCB0byBiZSBhIGNvbnN0
cnVjdG9yIChTdHJpbmcpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBi
c2MgPSBTdHJpbmcuYmluZChudWxsKTsKKyAgdmFyIHMgPSBic2MoImhlbGxvIHdvcmxkIik7Cisg
IGlmIChzID09PSAiaGVsbG8gd29ybGQiKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAor
CitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEZ1
bmN0aW9uLnByb3RvdHlwZS5iaW5kKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS0yLTQu
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMy40LjUtMi01LmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS0yLTUu
anMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS0yLTUuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDMgKzEs
NDMgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8v
LyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0K
LS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQot
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyAN
Ci0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiANCi0NCi0vKg0KLTE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJv
ciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCi0qLw0KLQ0K
LUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4zLjQuNS0yLTUiLA0KLQ0KLXBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTIt
NS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBhbGxvd3Mg
VGFyZ2V0IHRvIGJlIGEgY29uc3RydWN0b3IgKEJvb2xlYW4pIiwNCi0NCi10ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBiYmMgPSBCb29sZWFuLmJpbmQobnVsbCk7DQotICB2YXIg
YiA9IGJiYyh0cnVlKTsNCi0gIGlmIChiID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0K
LSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0
dXJuIGZuRXhpc3RzKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKTsNCi0gfQ0KLX0pOw0KKy8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisv
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworLyoKKzE1LjMuNC41IHN0ZXAgMiBz
cGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlz
IG5vdCBjYWxsYWJsZS4KKyovCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1
LjMuNC41LTItNSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjMvMTUuMy40LzE1
LjMuNC41LzE1LjMuNC41LTItNS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiRnVuY3Rpb24ucHJvdG90
eXBlLmJpbmQgYWxsb3dzIFRhcmdldCB0byBiZSBhIGNvbnN0cnVjdG9yIChCb29sZWFuKSIsCisK
K3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgYmJjID0gQm9vbGVhbi5iaW5kKG51
bGwpOworICB2YXIgYiA9IGJiYyh0cnVlKTsKKyAgaWYgKGIgPT09IHRydWUpIHsKKyAgICByZXR1
cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewor
ICByZXR1cm4gZm5FeGlzdHMoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpOworIH0KK30pOwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjMuNC41LTItNS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMj
IC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS0yLTYu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjMuNC41LTItNi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTItNi5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMSw0MyArMSw0MyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
DQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLS8qDQotMTUuMy40LjUgc3RlcCAyIHNwZWNp
ZmllcyB0aGF0IGEgVHlwZUVycm9yIG11c3QgYmUgdGhyb3duIGlmIHRoZSBUYXJnZXQgaXMgbm90
IGNhbGxhYmxlLg0KLSovDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1
LjMuNC41LTItNiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMy8xNS4zLjQv
MTUuMy40LjUvMTUuMy40LjUtMi02LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkZ1bmN0aW9uLnBy
b3RvdHlwZS5iaW5kIGFsbG93cyBUYXJnZXQgdG8gYmUgYSBjb25zdHJ1Y3RvciAoT2JqZWN0KSIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgYm9jID0gT2JqZWN0LmJp
bmQobnVsbCk7DQotICB2YXIgbyA9IGJvYyg0Mik7DQotICBpZiAobyA9PSA0Mikgew0KLSAgICBy
ZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhGdW5jdGlvbi5wcm90b3R5cGUuYmluZCk7DQotIH0N
Ci19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8v
LyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisv
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKy8qCisxNS4z
LjQuNSBzdGVwIDIgc3BlY2lmaWVzIHRoYXQgYSBUeXBlRXJyb3IgbXVzdCBiZSB0aHJvd24gaWYg
dGhlIFRhcmdldCBpcyBub3QgY2FsbGFibGUuCisqLworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggeworaWQ6ICIxNS4zLjQuNS0yLTYiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yLTYuanMiLAorCitkZXNjcmlwdGlvbjogIkZ1
bmN0aW9uLnByb3RvdHlwZS5iaW5kIGFsbG93cyBUYXJnZXQgdG8gYmUgYSBjb25zdHJ1Y3RvciAo
T2JqZWN0KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgYm9jID0gT2Jq
ZWN0LmJpbmQobnVsbCk7CisgIHZhciBvID0gYm9jKDQyKTsKKyAgaWYgKG8gPT0gNDIpIHsKKyAg
ICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgeworICByZXR1cm4gZm5FeGlzdHMoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpOworIH0KK30p
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjMuNC41LTItNi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQu
NS0yLTcuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjMuNC41LTItNy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTItNy5qcwko
d29ya2luZyBjb3B5KQpAQCAtMSw0NiArMSw0NiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLS8qDQotMTUuMy40LjUgc3RlcCAy
IHNwZWNpZmllcyB0aGF0IGEgVHlwZUVycm9yIG11c3QgYmUgdGhyb3duIGlmIHRoZSBUYXJnZXQg
aXMgbm90IGNhbGxhYmxlLg0KLSovDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1p
ZDogIjE1LjMuNC41LTItNyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMy8x
NS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMi03LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkZ1bmN0
aW9uLnByb3RvdHlwZS5iaW5kIHRocm93cyBUeXBlRXJyb3IgaWYgdGhlIFRhcmdldCBpcyBub3Qg
Y2FsbGFibGUgKEpTT04pIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHRy
eSB7DQotICAgIEpTT04uYmluZCgpOw0KLSAgfQ0KLSAgY2F0Y2ggKGUpIHsNCi0gICAgaWYgKGUg
aW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCi0gICAgICByZXR1cm4gdHJ1ZTsNCi0gICAgfQ0KLSAg
fQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJu
IGZuRXhpc3RzKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAK
Ky8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworLyoKKzE1LjMuNC41IHN0ZXAgMiBzcGVj
aWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5v
dCBjYWxsYWJsZS4KKyovCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjMu
NC41LTItNyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjMvMTUuMy40LzE1LjMu
NC41LzE1LjMuNC41LTItNy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBl
LmJpbmQgdGhyb3dzIFR5cGVFcnJvciBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZSAoSlNP
TikiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdHJ5IHsKKyAgICBKU09OLmJp
bmQoKTsKKyAgfQorICBjYXRjaCAoZSkgeworICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9y
KSB7CisgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEZ1bmN0aW9uLnByb3RvdHlw
ZS5iaW5kKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS0yLTcuanMKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuMy40LjUtMi04LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS0yLTguanMJKHJldmlzaW9uIDE5
OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4zLjQuNS0yLTguanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQot
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0vKg0K
LTE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93
biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCi0qLw0KLQ0KLUVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4zLjQuNS0yLTgiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItOC5qcyIsDQotDQotZGVz
Y3JpcHRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBhbGxvd3MgVGFyZ2V0IHRvIGJlIGEg
Y29uc3RydWN0b3IgKEFycmF5KSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQot
ICB2YXIgYmFjID0gQXJyYXkuYmluZChudWxsKTsNCi0gIHZhciBhID0gYmFjKDQyKTsNCi0gIA0K
LSAgLy8gd2UgY2FuIGFsc28gYWRkIGFuIEFycmF5LmlzQXJyYXkgY2hlY2sgaGVyZS4NCi0gIGlm
IChhLmxlbmd0aCA9PT0gNDIpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQot
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoRnVu
Y3Rpb24ucHJvdG90eXBlLmJpbmQpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
CisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorCisvKgorMTUuMy40LjUgc3RlcCAyIHNwZWNpZmllcyB0aGF0IGEg
VHlwZUVycm9yIG11c3QgYmUgdGhyb3duIGlmIHRoZSBUYXJnZXQgaXMgbm90IGNhbGxhYmxlLgor
Ki8KKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuMy40LjUtMi04IiwKKwor
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUt
Mi04LmpzIiwKKworZGVzY3JpcHRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBhbGxvd3Mg
VGFyZ2V0IHRvIGJlIGEgY29uc3RydWN0b3IgKEFycmF5KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeworICB2YXIgYmFjID0gQXJyYXkuYmluZChudWxsKTsKKyAgdmFyIGEgPSBiYWMo
NDIpOworICAKKyAgLy8gd2UgY2FuIGFsc28gYWRkIGFuIEFycmF5LmlzQXJyYXkgY2hlY2sgaGVy
ZS4KKyAgaWYgKGEubGVuZ3RoID09PSA0MikgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwK
KworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhG
dW5jdGlvbi5wcm90b3R5cGUuYmluZCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMy40LjUtMi04
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTItOS5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMy40LjUtMi05
LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuMy40LjUtMi05LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQwICsx
LDQwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0v
Ly8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQN
Ci0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0K
LS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8g
DQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjMuNC41
LTItOSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuMy8xNS4zLjQvMTUuMy40
LjUvMTUuMy40LjUtMi05LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkZ1bmN0aW9uLnByb3RvdHlw
ZS5iaW5kIGFsbG93cyBUYXJnZXQgdG8gYmUgYSBjb25zdHJ1Y3RvciAoRGF0ZSkiLA0KLQ0KLXRl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGJkYyA9IERhdGUuYmluZChudWxsKTsN
Ci0gIHZhciBzID0gYmRjKDAsIDAsIDApOw0KLSAgaWYgKHR5cGVvZihzKSA9PT0gJ3N0cmluZycp
IHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoRnVuY3Rpb24ucHJvdG90eXBlLmJp
bmQpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
CisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8g
CisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjMuNC41LTItOSIsCisKK3Bh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTIt
OS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgYWxsb3dzIFRh
cmdldCB0byBiZSBhIGNvbnN0cnVjdG9yIChEYXRlKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgeworICB2YXIgYmRjID0gRGF0ZS5iaW5kKG51bGwpOworICB2YXIgcyA9IGJkYygwLCAw
LCAwKTsKKyAgaWYgKHR5cGVvZihzKSA9PT0gJ3N0cmluZycpIHsKKyAgICByZXR1cm4gdHJ1ZTsK
KyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4g
Zm5FeGlzdHMoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpOworIH0KK30pOwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjMuNC41LTItOS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS04LTEuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjMuNC41LTgtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTgtMS5qcwkod29ya2luZyBjb3B5KQpA
QCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQot
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6
ICIxNS4zLjQuNS04LTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjMvMTUu
My40LzE1LjMuNC41LzE1LjMuNC41LTgtMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJGdW5jdGlv
bi5wcm90b3R5cGUuYmluZCwgdHlwZSBvZiBib3VuZCBmdW5jdGlvbiBtdXN0IGJlICdmdW5jdGlv
biciLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgZnVuY3Rpb24gZm9vKCkg
eyB9DQotICB2YXIgbyA9IHt9Ow0KLSAgDQotICB2YXIgYmYgPSBmb28uYmluZChvKTsNCi0gIGlm
ICh0eXBlb2YoYmYpID09PSAnZnVuY3Rpb24nKSB7DQotICAgIHJldHVybiAgdHJ1ZTsNCi0gIH0N
Ci0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBm
bkV4aXN0cyhGdW5jdGlvbi5wcm90b3R5cGUuYmluZCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTUuMy40LjUtOC0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
My8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtOC0xLmpzIiwKKworZGVzY3JpcHRpb246ICJGdW5j
dGlvbi5wcm90b3R5cGUuYmluZCwgdHlwZSBvZiBib3VuZCBmdW5jdGlvbiBtdXN0IGJlICdmdW5j
dGlvbiciLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgZnVuY3Rpb24gZm9vKCkg
eyB9CisgIHZhciBvID0ge307CisgIAorICB2YXIgYmYgPSBmb28uYmluZChvKTsKKyAgaWYgKHR5
cGVvZihiZikgPT09ICdmdW5jdGlvbicpIHsKKyAgICByZXR1cm4gIHRydWU7CisgIH0KKyB9LAor
CitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEZ1
bmN0aW9uLnByb3RvdHlwZS5iaW5kKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS04LTEu
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMy40LjUtOC0yLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS04LTIu
anMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS4zLjQuNS04LTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDMgKzEs
NDMgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8v
LyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0K
LS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQot
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyAN
Ci0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuMy40LjUt
OC0yIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4zLzE1LjMuNC8xNS4zLjQu
NS8xNS4zLjQuNS04LTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBl
LmJpbmQsIFtbQ2xhc3NdXSBvZiBib3VuZCBmdW5jdGlvbiBtdXN0IGJlICdGdW5jdGlvbiciLA0K
LQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgZnVuY3Rpb24gZm9vKCkgeyB9DQot
ICB2YXIgbyA9IHt9Ow0KLSAgDQotICB2YXIgYmYgPSBmb28uYmluZChvKTsNCi0gIHZhciBzID0g
T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGJmKTsNCi0gIGlmIChzID09PSAnW29iamVj
dCBGdW5jdGlvbl0nKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEZ1bmN0aW9u
LnByb3RvdHlwZS5iaW5kKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IK
Ky8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4zLjQu
NS04LTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4zLzE1LjMuNC8xNS4zLjQu
NS8xNS4zLjQuNS04LTIuanMiLAorCitkZXNjcmlwdGlvbjogIkZ1bmN0aW9uLnByb3RvdHlwZS5i
aW5kLCBbW0NsYXNzXV0gb2YgYm91bmQgZnVuY3Rpb24gbXVzdCBiZSAnRnVuY3Rpb24nIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZ1bmN0aW9uIGZvbygpIHsgfQorICB2YXIg
byA9IHt9OworICAKKyAgdmFyIGJmID0gZm9vLmJpbmQobyk7CisgIHZhciBzID0gT2JqZWN0LnBy
b3RvdHlwZS50b1N0cmluZy5jYWxsKGJmKTsKKyAgaWYgKHMgPT09ICdbb2JqZWN0IEZ1bmN0aW9u
XScpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQp
OworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTgtMi5qcwpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS4zLjQuNS05LTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTktMS5qcwkocmV2aXNpb24gMTk5NTQ5KQor
KysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41
LTktMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4zLjQuNS05LTEiLA0KLQ0KLXBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTktMS5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuYmluZCwgW1tQcm90b3R5cGVdXSBp
cyBGdW5jdGlvbi5wcm90b3R5cGUiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LSAgZnVuY3Rpb24gZm9vKCkgeyB9DQotICB2YXIgbyA9IHt9Ow0KLSAgDQotICB2YXIgYmYgPSBm
b28uYmluZChvKTsNCi0gIGlmIChGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihiZikp
IHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoRnVuY3Rpb24ucHJvdG90eXBlLmJp
bmQpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
CisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8g
CisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjMuNC41LTktMSIsCisKK3Bh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTkt
MS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsIFtbUHJvdG90
eXBlXV0gaXMgRnVuY3Rpb24ucHJvdG90eXBlIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7CisgIGZ1bmN0aW9uIGZvbygpIHsgfQorICB2YXIgbyA9IHt9OworICAKKyAgdmFyIGJmID0g
Zm9vLmJpbmQobyk7CisgIGlmIChGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihiZikp
IHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpOwor
IH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTktMS5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS4zLjQuNS05LTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTktMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjMuNC41LTkt
Mi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS4zLjQuNS05LTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTktMi5qcyIsDQotDQot
ZGVzY3JpcHRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuYmluZCwgW1tQcm90b3R5cGVdXSBpcyBG
dW5jdGlvbi5wcm90b3R5cGUgKHVzaW5nIGdldFByb3RvdHlwZU9mKSIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotICBmdW5jdGlvbiBmb28oKSB7IH0NCi0gIHZhciBvID0ge307
DQotICANCi0gIHZhciBiZiA9IGZvby5iaW5kKG8pOw0KLSAgaWYgKE9iamVjdC5nZXRQcm90b3R5
cGVPZihiZikgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0g
IH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVy
biBmbkV4aXN0cyhGdW5jdGlvbi5wcm90b3R5cGUuYmluZCkgJiYgZm5FeGlzdHMoT2JqZWN0Lmdl
dFByb3RvdHlwZU9mKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS4zLjQuNS05
LTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8x
NS4zLjQuNS05LTIuanMiLAorCitkZXNjcmlwdGlvbjogIkZ1bmN0aW9uLnByb3RvdHlwZS5iaW5k
LCBbW1Byb3RvdHlwZV1dIGlzIEZ1bmN0aW9uLnByb3RvdHlwZSAodXNpbmcgZ2V0UHJvdG90eXBl
T2YpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZ1bmN0aW9uIGZvbygpIHsg
fQorICB2YXIgbyA9IHt9OworICAKKyAgdmFyIGJmID0gZm9vLmJpbmQobyk7CisgIGlmIChPYmpl
Y3QuZ2V0UHJvdG90eXBlT2YoYmYpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsKKyAgICByZXR1
cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewor
ICByZXR1cm4gZm5FeGlzdHMoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpICYmIGZuRXhpc3RzKE9i
amVjdC5nZXRQcm90b3R5cGVPZik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuMy40LjUtOS0yLmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuMy4yLTAtMS5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC4zLjItMC0xLmpz
CShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC4zLjItMC0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM1ICsxLDM1
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuMy4yLTAt
MSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIv
MTUuNC4zLjItMC0xLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LmlzQXJyYXkgbXVzdCBl
eGlzdCBhcyBhIGZ1bmN0aW9uIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0g
IHZhciBmID0gQXJyYXkuaXNBcnJheTsNCi0gIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIp
IHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTUuNC4zLjItMC0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40
LjMvMTUuNC4zLjIvMTUuNC4zLjItMC0xLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5pc0Fy
cmF5IG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgeworICB2YXIgZiA9IEFycmF5LmlzQXJyYXk7CisgIGlmICh0eXBlb2YoZikgPT09ICJmdW5j
dGlvbiIpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0KK30pOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
My4yLTAtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMK
K0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjMuMi0wLTIuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
My4yLTAtMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuMy4yLTAtMi5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSwzOCArMSwzOCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIx
NS40LjMuMi0wLTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC4z
LzE1LjQuMy4yLzE1LjQuMy4yLTAtMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5pc0Fy
cmF5IG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMSBwYXJhbWV0ZXIiLA0KLQ0KLXRl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgaWYgKEFycmF5LmlzQXJyYXkubGVuZ3RoID09
PSAxKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LmlzQXJyYXkpOw0K
LSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
CisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
CisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuMy4yLTAtMiIsCisKK3BhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC4zLzE1LjQuMy4yLzE1LjQuMy4yLTAtMi5qcyIs
CisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkuaXNBcnJheSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24g
dGFraW5nIDEgcGFyYW1ldGVyIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGlm
IChBcnJheS5pc0FycmF5Lmxlbmd0aCA9PT0gMSkgeworICAgIHJldHVybiB0cnVlOworICB9Cisg
fSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0
cyhBcnJheS5pc0FycmF5KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjMuMi0wLTIuanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC4zLjItMC0zLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjMuMi0wLTMuanMJKHJl
dmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjMuMi0wLTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDAgKzEsNDAgQEAK
LS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0v
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAN
Ci0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC4zLjItMC0zIiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40
LjMuMi0wLTMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkuaXNBcnJheSByZXR1cm4gdHJ1
ZSBpZiBpdHMgYXJndW1lbnQgaXMgYW4gQXJyYXkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgew0KLSAgdmFyIGEgPSBbXTsNCi0gIHZhciBiID0gQXJyYXkuaXNBcnJheShhKTsNCi0g
IGlmIChiID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5
LmlzQXJyYXkpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuMy4yLTAtMyIs
CisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC4zLzE1LjQuMy4yLzE1LjQu
My4yLTAtMy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkuaXNBcnJheSByZXR1cm4gdHJ1ZSBp
ZiBpdHMgYXJndW1lbnQgaXMgYW4gQXJyYXkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsKKyAgdmFyIGEgPSBbXTsKKyAgdmFyIGIgPSBBcnJheS5pc0FycmF5KGEpOworICBpZiAoYiA9
PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5pc0FycmF5KTsKKyB9
Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjMuMi0wLTMuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC4zLjItMC00LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjMuMi0wLTQuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjMuMi0wLTQu
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTAgKzEsNTAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQot
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC4zLjItMC00IiwNCi0NCi1wYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0wLTQuanMiLA0KLQ0KLWRl
c2NyaXB0aW9uOiAiQXJyYXkuaXNBcnJheSByZXR1cm4gZmFsc2UgaWYgaXRzIGFyZ3VtZW50IGlz
IG5vdCBhbiBBcnJheSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIg
Yl9udW0gICA9IEFycmF5LmlzQXJyYXkoNDIpOw0KLSAgdmFyIGJfdW5kZWYgPSBBcnJheS5pc0Fy
cmF5KHVuZGVmaW5lZCk7DQotICB2YXIgYl9ib29sICA9IEFycmF5LmlzQXJyYXkodHJ1ZSk7DQot
ICB2YXIgYl9zdHIgICA9IEFycmF5LmlzQXJyYXkoImFiYyIpOw0KLSAgdmFyIGJfb2JqICAgPSBB
cnJheS5pc0FycmF5KHt9KTsNCi0gIHZhciBiX251bGwgID0gQXJyYXkuaXNBcnJheShudWxsKTsN
Ci0gIA0KLSAgaWYgKGJfbnVtID09PSBmYWxzZSAmJg0KLSAgICAgIGJfdW5kZWYgPT09IGZhbHNl
ICYmDQotICAgICAgYl9ib29sID09PSBmYWxzZSAmJg0KLSAgICAgIGJfc3RyID09PSBmYWxzZSAm
Jg0KLSAgICAgIGJfb2JqID09PSBmYWxzZSAmJg0KLSAgICAgIGJfbnVsbCA9PT0gZmFsc2UpIHsN
Ci0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkuaXNBcnJheSk7DQotIH0NCi19
KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAK
Ky8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC4zLjItMC00IiwKKworcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMC00LmpzIiwKKworZGVz
Y3JpcHRpb246ICJBcnJheS5pc0FycmF5IHJldHVybiBmYWxzZSBpZiBpdHMgYXJndW1lbnQgaXMg
bm90IGFuIEFycmF5IiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBiX251
bSAgID0gQXJyYXkuaXNBcnJheSg0Mik7CisgIHZhciBiX3VuZGVmID0gQXJyYXkuaXNBcnJheSh1
bmRlZmluZWQpOworICB2YXIgYl9ib29sICA9IEFycmF5LmlzQXJyYXkodHJ1ZSk7CisgIHZhciBi
X3N0ciAgID0gQXJyYXkuaXNBcnJheSgiYWJjIik7CisgIHZhciBiX29iaiAgID0gQXJyYXkuaXNB
cnJheSh7fSk7CisgIHZhciBiX251bGwgID0gQXJyYXkuaXNBcnJheShudWxsKTsKKyAgCisgIGlm
IChiX251bSA9PT0gZmFsc2UgJiYKKyAgICAgIGJfdW5kZWYgPT09IGZhbHNlICYmCisgICAgICBi
X2Jvb2wgPT09IGZhbHNlICYmCisgICAgICBiX3N0ciA9PT0gZmFsc2UgJiYKKyAgICAgIGJfb2Jq
ID09PSBmYWxzZSAmJgorICAgICAgYl9udWxsID09PSBmYWxzZSkgeworICAgIHJldHVybiB0cnVl
OworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVy
biBmbkV4aXN0cyhBcnJheS5pc0FycmF5KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjMuMi0w
LTQuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC4zLjItMC01LmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjMuMi0w
LTUuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjMuMi0wLTUuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzkg
KzEsMzkgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC4z
LjItMC01IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuMy8xNS40
LjMuMi8xNS40LjMuMi0wLTUuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkuaXNBcnJheSBy
ZXR1cm4gdHJ1ZSBpZiBpdHMgYXJndW1lbnQgaXMgYW4gQXJyYXkgKEFycmF5LnByb3RvdHlwZSki
LA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGIgPSBBcnJheS5pc0Fy
cmF5KEFycmF5LnByb3RvdHlwZSk7DQotICBpZiAoYiA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4g
dHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsN
Ci0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5pc0FycmF5KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAK
Ky8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggeworaWQ6ICIxNS40LjMuMi0wLTUiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0wLTUuanMiLAorCitkZXNjcmlwdGlvbjogIkFy
cmF5LmlzQXJyYXkgcmV0dXJuIHRydWUgaWYgaXRzIGFyZ3VtZW50IGlzIGFuIEFycmF5IChBcnJh
eS5wcm90b3R5cGUpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBiID0g
QXJyYXkuaXNBcnJheShBcnJheS5wcm90b3R5cGUpOworICBpZiAoYiA9PT0gdHJ1ZSkgeworICAg
IHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5pc0FycmF5KTsKKyB9Cit9KTsKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjMuMi0wLTUuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC4zLjItMC02LmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjMuMi0wLTYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjMuMi0wLTYuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNDAgKzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LWlkOiAiMTUuNC4zLjItMC02IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40
LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0wLTYuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJy
YXkuaXNBcnJheSByZXR1cm4gdHJ1ZSBpZiBpdHMgYXJndW1lbnQgaXMgYW4gQXJyYXkgKG5ldyBB
cnJheSgpKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgYSA9IG5l
dyBBcnJheSgxMCk7DQotICB2YXIgYiA9IEFycmF5LmlzQXJyYXkoYSk7DQotICBpZiAoYiA9PT0g
dHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5pc0FycmF5KTsN
Ci0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjMuMi0wLTYiLAorCitwYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0wLTYuanMi
LAorCitkZXNjcmlwdGlvbjogIkFycmF5LmlzQXJyYXkgcmV0dXJuIHRydWUgaWYgaXRzIGFyZ3Vt
ZW50IGlzIGFuIEFycmF5IChuZXcgQXJyYXkoKSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKyAgdmFyIGEgPSBuZXcgQXJyYXkoMTApOworICB2YXIgYiA9IEFycmF5LmlzQXJyYXko
YSk7CisgIGlmIChiID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitw
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5
LmlzQXJyYXkpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuMy4yLTAtNi5qcwpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjMuMi0wLTcuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuMy4yLTAtNy5qcwkocmV2aXNpb24g
MTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuMy4yLTAtNy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MSArMSw0MSBAQAotLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYN
Ci0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0K
LUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjMuMi0wLTciLA0KLQ0KLXBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC4zLzE1LjQuMy4yLzE1LjQuMy4yLTAt
Ny5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5pc0FycmF5IHJldHVybnMgZmFsc2UgaWYg
aXRzIGFyZ3VtZW50IGlzIG5vdCBhbiBBcnJheSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7DQotICB2YXIgbyA9IG5ldyBPYmplY3QoKTsNCi0gIG9bMTJdID0gMTM7DQotICB2YXIg
YiA9IEFycmF5LmlzQXJyYXkobyk7DQotICBpZiAoYiA9PT0gZmFsc2UpIHsNCi0gICAgcmV0dXJu
IHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkuaXNBcnJheSk7DQotIH0NCi19KTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKK2lkOiAiMTUuNC4zLjItMC03IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMC03LmpzIiwKKworZGVzY3JpcHRpb246ICJB
cnJheS5pc0FycmF5IHJldHVybnMgZmFsc2UgaWYgaXRzIGFyZ3VtZW50IGlzIG5vdCBhbiBBcnJh
eSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgbyA9IG5ldyBPYmplY3Qo
KTsKKyAgb1sxMl0gPSAxMzsKKyAgdmFyIGIgPSBBcnJheS5pc0FycmF5KG8pOworICBpZiAoYiA9
PT0gZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkuaXNBcnJheSk7Cisg
fQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC4zLjItMC03LmpzCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
b2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNC0wLTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0wLTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQt
MC0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM1ICsxLDM1IEBACi0vLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0K
LS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
Uw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNC0wLTEiLA0KLQ0KLXBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMC0xLmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIG11c3QgZXhpc3QgYXMg
YSBmdW5jdGlvbiIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZiA9
IEFycmF5LnByb3RvdHlwZS5pbmRleE9mOw0KLSAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9u
Iikgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxNS40LjQuMTQtMC0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0wLTEuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5pbmRleE9mIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiIsCisKK3Rlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZiA9IEFycmF5LnByb3RvdHlwZS5pbmRleE9mOwor
ICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0K
KyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMC0xLmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNC0wLTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0wLTIuanMJKHJldmlzaW9uIDE5OTU0OSkK
KysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTQtMC0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5IEBACi0vLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0v
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNC0wLTIiLA0KLQ0KLXBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMC0y
LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIGhhcyBhIGxl
bmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyAxLiIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7DQotICBpZiAoQXJyYXkucHJvdG90eXBlLmluZGV4T2YubGVuZ3RoID09PSAxKSB7
DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9m
KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bwor
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAor
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKwor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xNC0wLTIiLAorCitw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0
LTAtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgaGFzIGEg
bGVuZ3RoIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIDEuIiwKKwordGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7CisgIGlmIChBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5sZW5ndGggPT09IDEpIHsK
KyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworIH0K
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0wLTIuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE0LTEtMTAuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0xLTEwLmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0
LTEtMTAuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDYgKzEsNDYgQEAKLS8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
DQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLQ0KLUVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTQtMS0xMCIsDQotDQot
ICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40
LjQuMTQtMS0xMC5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmlu
ZGV4T2YgYXBwbGllZCB0byB0aGUgTWF0aCBvYmplY3QiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsNCi0gICAgICAgIHRyeSB7DQotICAgICAgICAgICAgTWF0aFsxXSA9IHRy
dWU7DQotICAgICAgICAgICAgTWF0aC5sZW5ndGggPSAyOw0KLSAgICAgICAgICAgIHJldHVybiBB
cnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKE1hdGgsIHRydWUpID09PSAxOw0KLSAgICAgICAg
fSBmaW5hbGx5IHsNCi0gICAgICAgICAgICBkZWxldGUgTWF0aFsxXTsNCi0gICAgICAgICAgICBk
ZWxldGUgTWF0aC5sZW5ndGg7DQotICAgICAgICB9DQotICAgIH0sDQotDQotICAgIHByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5
LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisg
ICAgaWQ6ICIxNS40LjQuMTQtMS0xMCIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTEtMTAuanMiLAorCisgICAgZGVzY3Jp
cHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIHRoZSBNYXRoIG9iamVj
dCIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgIE1hdGhbMV0gPSB0cnVlOworICAgICAgICAgICAgTWF0aC5sZW5ndGggPSAyOwor
ICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoTWF0aCwgdHJ1
ZSkgPT09IDE7CisgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICBkZWxldGUgTWF0aFsx
XTsKKyAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmxlbmd0aDsKKyAgICAgICAgfQorICAgIH0sCisK
KyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZu
RXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNC0xLTEwLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0xLTExLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTQtMS0xMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0xLTExLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDQ0ICsxLDQ0IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQot
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTQtMS0xMSIsDQotDQotICAgIHBhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMS0xMS5q
cyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGll
ZCB0byBEYXRlIG9iamVjdCIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LQ0KLSAgICAgICAgdmFyIG9iaiA9IG5ldyBEYXRlKCk7DQotICAgICAgICBvYmoubGVuZ3RoID0g
MjsNCi0gICAgICAgIG9ialsxXSA9IHRydWU7DQotDQotICAgICAgICByZXR1cm4gQXJyYXkucHJv
dG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOw0KLSAgICB9LA0KLQ0KLSAgICBw
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0
cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggeworCisgICAgaWQ6ICIxNS40LjQuMTQtMS0xMSIsCisKKyAgICBwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTEtMTEuanMiLAorCisg
ICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIERhdGUg
b2JqZWN0IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHZh
ciBvYmogPSBuZXcgRGF0ZSgpOworICAgICAgICBvYmoubGVuZ3RoID0gMjsKKyAgICAgICAgb2Jq
WzFdID0gdHJ1ZTsKKworICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2Fs
bChvYmosIHRydWUpID09PSAxOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRl
eE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0xLTExLmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNC0xLTEyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMS0xMi5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNC0xLTEyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ0ICsxLDQ0IEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
DQotDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi0NCi0gICAgaWQ6ICIxNS40
LjQuMTQtMS0xMiIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUu
NC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMS0xMi5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAi
QXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBSZWdFeHAgb2JqZWN0IiwNCi0NCi0g
ICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgb2JqID0gbmV3
IFJlZ0V4cCgpOw0KLSAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQotICAgICAgICBvYmpbMV0gPSB0
cnVlOw0KLQ0KLSAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2Jq
LCB0cnVlKSA9PT0gMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4
T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKKworICAgIGlkOiAiMTUuNC40
LjE0LTEtMTIiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQv
MTUuNC40LjE0LzE1LjQuNC4xNC0xLTEyLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXku
cHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBSZWdFeHAgb2JqZWN0IiwKKworICAgIHRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHZhciBvYmogPSBuZXcgUmVnRXhwKCk7
CisgICAgICAgIG9iai5sZW5ndGggPSAyOworICAgICAgICBvYmpbMV0gPSB0cnVlOworCisgICAg
ICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDE7
CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAg
ICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworICAgIH0KKworfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE0LTEtMTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1z
dHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE0LTEtMTMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0xLTEzLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTEt
MTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDcgKzEsNDcgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTQtMS0xMyIsDQotDQotICAg
IHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQu
MTQtMS0xMy5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4
T2YgYXBwbGllZCB0byB0aGUgSlNPTiBvYmplY3QiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsNCi0gICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCi0gICAgICAgIHRyeSB7
DQotICAgICAgICAgICAgSlNPTlszXSA9IHRhcmdldE9iajsNCi0gICAgICAgICAgICBKU09OLmxl
bmd0aCA9IDU7DQotICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNh
bGwoSlNPTiwgdGFyZ2V0T2JqKSA9PT0gMzsNCi0gICAgICAgIH0gZmluYWxseSB7DQotICAgICAg
ICAgICAgZGVsZXRlIEpTT05bM107DQotICAgICAgICAgICAgZGVsZXRlIEpTT04ubGVuZ3RoOw0K
LSAgICAgICAgfQ0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7
DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8v
LyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE0LTEt
MTMiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40
LjE0LzE1LjQuNC4xNC0xLTEzLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90
eXBlLmluZGV4T2YgYXBwbGllZCB0byB0aGUgSlNPTiBvYmplY3QiLAorCisgICAgdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsKKyAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgIEpTT05bM10gPSB0YXJnZXRPYmo7CisgICAgICAgICAgICBKU09O
Lmxlbmd0aCA9IDU7CisgICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2Yu
Y2FsbChKU09OLCB0YXJnZXRPYmopID09PSAzOworICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgZGVsZXRlIEpTT05bM107CisgICAgICAgICAgICBkZWxldGUgSlNPTi5sZW5ndGg7Cisg
ICAgICAgIH0KKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7CisgICAg
fQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMS0xMy5qcwpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTQtMS0xNC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTEtMTQuanMJKHJldmlzaW9uIDE5OTU0
OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTQtMS0xNC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NCArMSw0NCBAQAotLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
DQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0v
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLQ0K
LUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTEtMTQi
LA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQu
MTQvMTUuNC40LjE0LTEtMTQuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3Rv
dHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gRXJyb3Igb2JqZWN0IiwNCi0NCi0gICAgdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgb2JqID0gbmV3IFN5bnRheEVycm9y
KCk7DQotICAgICAgICBvYmpbMV0gPSB0cnVlOw0KLSAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQot
DQotICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUp
ID09PSAxOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQot
ICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8K
Ky8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAK
Ky8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisK
KworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworCisgICAgaWQ6ICIxNS40LjQuMTQtMS0x
NCIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQu
MTQvMTUuNC40LjE0LTEtMTQuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5
cGUuaW5kZXhPZiBhcHBsaWVkIHRvIEVycm9yIG9iamVjdCIsCisKKyAgICB0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIgb2JqID0gbmV3IFN5bnRheEVycm9yKCk7Cisg
ICAgICAgIG9ialsxXSA9IHRydWU7CisgICAgICAgIG9iai5sZW5ndGggPSAyOworCisgICAgICAg
IHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDE7Cisg
ICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICBy
ZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworICAgIH0KKworfSk7CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE0LTEtMTQuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHls
ZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0
LTEtMTUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNC0xLTE1LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTEtMTUu
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQot
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTEtMTUiLA0KLQ0KLSAgICBw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0
LTEtMTUuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9m
IGFwcGxpZWQgdG8gQXJndW1lbnRzIG9iamVjdCIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgew0KLQ0KLSAgICAgICAgdmFyIG9iaiA9IEZ1bmN0aW9uKCJyZXR1cm4gYXJndW1l
bnRzIikoMSwgdHJ1ZSwgMyk7DQotDQotICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmlu
ZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5w
cm90b3R5cGUuaW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAg
ICBpZDogIjE1LjQuNC4xNC0xLTE1IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMS0xNS5qcyIsCisKKyAgICBkZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gQXJndW1lbnRzIG9iamVj
dCIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIgb2Jq
ID0gRnVuY3Rpb24oInJldHVybiBhcmd1bWVudHMiKSgxLCB0cnVlLCAzKTsKKworICAgICAgICBy
ZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOworICAg
IH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0
dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNC0xLTE1LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0x
LTE2LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTQtMS0xNi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0xLTE2Lmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ2ICsxLDQ2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTEtMTYiLA0KLQ0KLSAgICBwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTEt
MTYuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFw
cGxpZWQgdG8gdGhlIGRvY3VtZW50IGhvc3Qgb2JqZWN0IiwNCi0NCi0gICAgdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7DQotICAgICAgICB0cnkgew0KLSAgICAgICAgICAgIGRvY3VtZW50WzFd
ID0gdHJ1ZTsNCi0gICAgICAgICAgICBkb2N1bWVudC5sZW5ndGggPSAyOw0KLSAgICAgICAgICAg
IHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGRvY3VtZW50LCB0cnVlKSA9PT0g
MTsNCi0gICAgICAgIH0gZmluYWxseSB7DQotICAgICAgICAgICAgZGVsZXRlIGRvY3VtZW50WzFd
Ow0KLSAgICAgICAgICAgIGRlbGV0ZSBkb2N1bWVudC5sZW5ndGg7DQotICAgICAgICB9Ow0KLSAg
ICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAg
IHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotICAgIH0NCi0NCi19
KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAK
Ky8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCisKK0VTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE0LTEtMTYiLAorCisgICAgcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0x
LTE2LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBw
bGllZCB0byB0aGUgZG9jdW1lbnQgaG9zdCBvYmplY3QiLAorCisgICAgdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBkb2N1bWVudFsxXSA9IHRy
dWU7CisgICAgICAgICAgICBkb2N1bWVudC5sZW5ndGggPSAyOworICAgICAgICAgICAgcmV0dXJu
IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoZG9jdW1lbnQsIHRydWUpID09PSAxOworICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgZGVsZXRlIGRvY3VtZW50WzFdOworICAgICAg
ICAgICAgZGVsZXRlIGRvY3VtZW50Lmxlbmd0aDsKKyAgICAgICAgfTsKKyAgICB9LAorCisgICAg
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0
cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTQtMS0xNi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMS0xOC5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE0LTEtMTguanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMS0xOC5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSw0NiArMSw0NiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
DQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQot
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
ew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNC0xLTE4IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTE4LmpzIiwNCi0N
Ci0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIHRo
ZSBkb2N1bWVudCBob3N0IG9iamVjdCIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgew0KLSAgICAgICAgdHJ5IHsNCi0gICAgICAgICAgICBkb2N1bWVudFsxXSA9IHRydWU7DQot
ICAgICAgICAgICAgZG9jdW1lbnQubGVuZ3RoID0gMjsNCi0gICAgICAgICAgICByZXR1cm4gQXJy
YXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChkb2N1bWVudCwgdHJ1ZSkgPT09IDE7DQotICAgICAg
ICB9IGZpbmFsbHkgew0KLSAgICAgICAgICAgIGRlbGV0ZSBkb2N1bWVudFsxXTsNCi0gICAgICAg
ICAgICBkZWxldGUgZG9jdW1lbnQubGVuZ3RoOw0KLSAgICAgICAgfTsNCi0gICAgfSwNCi0NCi0g
ICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5F
eGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNC0xLTE4IiwKKworICAgIHBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMS0xOC5qcyIsCisK
KyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gdGhl
IGRvY3VtZW50IGhvc3Qgb2JqZWN0IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
eworICAgICAgICB0cnkgeworICAgICAgICAgICAgZG9jdW1lbnRbMV0gPSB0cnVlOworICAgICAg
ICAgICAgZG9jdW1lbnQubGVuZ3RoID0gMjsKKyAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90
b3R5cGUuaW5kZXhPZi5jYWxsKGRvY3VtZW50LCB0cnVlKSA9PT0gMTsKKyAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgIGRlbGV0ZSBkb2N1bWVudFsxXTsKKyAgICAgICAgICAgIGRlbGV0
ZSBkb2N1bWVudC5sZW5ndGg7CisgICAgICAgIH07CisgICAgfSwKKworICAgIHByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJv
dG90eXBlLmluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTEtMTgu
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTEtMy5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTEt
My5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0xLTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDgg
KzEsNDggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLg0KLQ0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6
ICIxNS40LjQuMTQtMS0zIiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTMuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlv
bjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gYm9vbGVhbiBwcmltaXRpdmUi
LA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gICAgICAgIHZhciB0YXJn
ZXRPYmogPSB7fTsNCi0gICAgICAgIHRyeSB7DQotICAgICAgICAgICAgQm9vbGVhbi5wcm90b3R5
cGVbMV0gPSB0YXJnZXRPYmo7DQotICAgICAgICAgICAgQm9vbGVhbi5wcm90b3R5cGUubGVuZ3Ro
ID0gMjsNCi0NCi0gICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2Fs
bCh0cnVlLCB0YXJnZXRPYmopID09PSAxOw0KLSAgICAgICAgfSBmaW5hbGx5IHsNCi0gICAgICAg
ICAgICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGVbMV07DQotICAgICAgICAgICAgZGVsZXRlIEJv
b2xlYW4ucHJvdG90eXBlLmxlbmd0aDsNCi0gICAgICAgIH0NCi0gICAgfSwNCi0NCi0gICAgcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMo
QXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7
CisKKyAgICBpZDogIjE1LjQuNC4xNC0xLTMiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTMuanMiLAorCisgICAgZGVz
Y3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIGJvb2xlYW4gcHJp
bWl0aXZlIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgICAgICB2YXIg
dGFyZ2V0T2JqID0ge307CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBCb29sZWFuLnByb3Rv
dHlwZVsxXSA9IHRhcmdldE9iajsKKyAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0
aCA9IDI7CisKKyAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxs
KHRydWUsIHRhcmdldE9iaikgPT09IDE7CisgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGVbMV07CisgICAgICAgICAgICBkZWxldGUgQm9vbGVh
bi5wcm90b3R5cGUubGVuZ3RoOworICAgICAgICB9CisgICAgfSwKKworICAgIHByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJv
dG90eXBlLmluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTEtMy5q
cwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMS00LmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMS00
LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTEtNC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NCAr
MSw0NCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQot
Ly8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
DQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8N
Ci0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8v
IA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIA0KLQ0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotDQotICAgIGlk
OiAiMTUuNC40LjE0LTEtNCIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMS00LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRp
b246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIEJvb2xlYW4gT2JqZWN0IiwN
Ci0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgb2Jq
ID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KLSAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQotICAgICAg
ICBvYmpbMV0gPSB0cnVlOw0KLQ0KLSAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRl
eE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJv
dG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQotDQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKKworICAgIGlkOiAi
MTUuNC40LjE0LTEtNCIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1
LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTEtNC5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFy
cmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gQm9vbGVhbiBPYmplY3QiLAorCisgICAg
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgdmFyIG9iaiA9IG5ldyBCb29s
ZWFuKGZhbHNlKTsKKyAgICAgICAgb2JqLmxlbmd0aCA9IDI7CisgICAgICAgIG9ialsxXSA9IHRy
dWU7CisKKyAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0
cnVlKSA9PT0gMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7Cisg
ICAgfQorCiB9KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE0LTEtNC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMK
K0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMS01LmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTQtMS01LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTEtNS5qcwkod29ya2luZyBjb3B5KQpA
QCAtMSw0OCArMSw0OCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQot
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQot
DQotICAgIGlkOiAiMTUuNC40LjE0LTEtNSIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMS01LmpzIiwNCi0NCi0gICAg
ZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIG51bWJlciBw
cmltaXRpdmUiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gICAgICAg
IHZhciB0YXJnZXRPYmogPSB7fTsNCi0gICAgICAgIHRyeSB7DQotICAgICAgICAgICAgTnVtYmVy
LnByb3RvdHlwZVsxXSA9IHRhcmdldE9iajsNCi0gICAgICAgICAgICBOdW1iZXIucHJvdG90eXBl
Lmxlbmd0aCA9IDI7DQotDQotICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRl
eE9mLmNhbGwoNSwgdGFyZ2V0T2JqKSA9PT0gMTsNCi0gICAgICAgIH0gZmluYWxseSB7DQotICAg
ICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGVbMV07DQotICAgICAgICAgICAgZGVsZXRl
IE51bWJlci5wcm90b3R5cGUubGVuZ3RoOw0KLSAgICAgICAgfQ0KLSAgICB9LA0KLQ0KLSAgICBw
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0
cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggeworCisgICAgaWQ6ICIxNS40LjQuMTQtMS01IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMS01LmpzIiwKKworICAg
IGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBudW1iZXIg
cHJpbWl0aXZlIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgICAgICB2
YXIgdGFyZ2V0T2JqID0ge307CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBOdW1iZXIucHJv
dG90eXBlWzFdID0gdGFyZ2V0T2JqOworICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZS5sZW5n
dGggPSAyOworCisgICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2Fs
bCg1LCB0YXJnZXRPYmopID09PSAxOworICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ZGVsZXRlIE51bWJlci5wcm90b3R5cGVbMV07CisgICAgICAgICAgICBkZWxldGUgTnVtYmVyLnBy
b3RvdHlwZS5sZW5ndGg7CisgICAgICAgIH0KKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUuaW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMS01LmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0xLTYuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0xLTYuanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTQtMS02LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ0ICsxLDQ0
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi0NCi0gICAgaWQ6ICIx
NS40LjQuMTQtMS02IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTYuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjog
IkFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gTnVtYmVyIG9iamVjdCIsDQotDQot
ICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgdmFyIG9iaiA9IG5l
dyBOdW1iZXIoLTMpOw0KLSAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQotICAgICAgICBvYmpbMV0g
PSB0cnVlOw0KLQ0KLSAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwo
b2JqLCB0cnVlKSA9PT0gMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmlu
ZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKKworICAgIGlkOiAiMTUu
NC40LjE0LTEtNiIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQu
NC8xNS40LjQuMTQvMTUuNC40LjE0LTEtNi5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gTnVtYmVyIG9iamVjdCIsCisKKyAgICB0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIgb2JqID0gbmV3IE51bWJlcigt
Myk7CisgICAgICAgIG9iai5sZW5ndGggPSAyOworICAgICAgICBvYmpbMV0gPSB0cnVlOworCisg
ICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09
IDE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAg
ICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworICAgIH0KKwor
fSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTEtNi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTQtMS03LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMS03LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTEt
Ny5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTEtNyIsDQotDQotICAg
IHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQu
MTQtMS03LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhP
ZiBhcHBsaWVkIHRvIHN0cmluZyBwcmltaXRpdmUiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5j
YWxsKCJhYmMiLCAiYiIpID09PSAxOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUuaW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworCisgICAgaWQ6
ICIxNS40LjQuMTQtMS03IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMS03LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAi
QXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBzdHJpbmcgcHJpbWl0aXZlIiwKKwor
ICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHJldHVybiBBcnJheS5w
cm90b3R5cGUuaW5kZXhPZi5jYWxsKCJhYmMiLCAiYiIpID09PSAxOworICAgIH0sCisKKyAgICBw
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3Rz
KEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNC0xLTcuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTEtOC5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE0LTEtOC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0xLTguanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0K
LS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LQ0KLSAgICBpZDogIjE1LjQuNC4xNC0xLTgiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTEtOC5qcyIsDQotDQotICAg
IGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBTdHJpbmcg
b2JqZWN0IiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAg
ICB2YXIgb2JqID0gbmV3IFN0cmluZygibnVsbCIpOw0KLQ0KLSAgICAgICAgcmV0dXJuIEFycmF5
LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAnbCcpID09PSAyOw0KLSAgICB9LA0KLQ0KLSAg
ICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4
aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggeworCisgICAgaWQ6ICIxNS40LjQuMTQtMS04IiwKKworICAgIHBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMS04LmpzIiwKKwor
ICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBTdHJp
bmcgb2JqZWN0IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAg
IHZhciBvYmogPSBuZXcgU3RyaW5nKCJudWxsIik7CisKKyAgICAgICAgcmV0dXJuIEFycmF5LnBy
b3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAnbCcpID09PSAyOworICAgIH0sCisKKyAgICBwcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFy
cmF5LnByb3RvdHlwZS5pbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NC0xLTguanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitM
RgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTEtOS5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE0LTEtOS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0xLTkuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsNDMgKzEsNDMgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
Lg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiANCi0NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLQ0K
LSAgICBpZDogIjE1LjQuNC4xNC0xLTkiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTEtOS5qcyIsDQotDQotICAgIGRl
c2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBGdW5jdGlvbiBv
YmplY3QiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAg
IHZhciBvYmogPSBuZXcgRnVuY3Rpb24oImEiLCAiYiIsICJyZXR1cm4gYSArIGIiKTsgLy92YWx1
ZSBvZiBvYmogbGVuZ3RoIHByb3BlcnR5IHdpbGwgYmUgMjsNCi0gICAgICAgIG9ialsxXSA9IHRy
dWU7DQotDQotICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmos
IHRydWUpID09PSAxOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhP
Zik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworCisgICAgaWQ6ICIxNS40LjQu
MTQtMS05IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1
LjQuNC4xNC8xNS40LjQuMTQtMS05LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3QiLAorCisgICAgdGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgdmFyIG9iaiA9IG5ldyBGdW5jdGlvbigi
YSIsICJiIiwgInJldHVybiBhICsgYiIpOyAvL3ZhbHVlIG9mIG9iaiBsZW5ndGggcHJvcGVydHkg
d2lsbCBiZSAyOworICAgICAgICBvYmpbMV0gPSB0cnVlOworCisgICAgICAgIHJldHVybiBBcnJh
eS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDE7CisgICAgfSwKKworICAg
IHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE0LTEtOS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMTAtMS5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE0LTEwLTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMTAtMS5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSw1OCArMSw1OCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
DQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQot
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
DQotaWQ6ICIxNS40LjQuMTQtMTAtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xMC0xLmpzIiwNCi0NCi1kZXNjcmlwdGlv
bjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgLTEgZm9yIGVsZW1lbnRzIG5vdCBw
cmVzZW50IGluIGFycmF5IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZh
ciBhID0gbmV3IEFycmF5KCk7DQotICBhWzEwMF0gPSAxOw0KLSAgYVs5OTk5OV0gPSAiIjsgIA0K
LSAgYVsxMF0gPSBuZXcgT2JqZWN0KCk7DQotICBhWzU1NTVdID0gNS41Ow0KLSAgYVsxMjM0NTZd
ID0gInN0ciI7DQotICBhWzVdID0gMUUrMzA5Ow0KLSAgaWYgKGEuaW5kZXhPZigxKSAhPT0gMTAw
IHx8IA0KLSAgICAgIGEuaW5kZXhPZigiIikgIT09IDk5OTk5IHx8DQotICAgICAgYS5pbmRleE9m
KCJzdHIiKSAhPT0gMTIzNDU2IHx8DQotICAgICAgYS5pbmRleE9mKDFFKzMwOSkgIT09IDUgfHwg
ICAvL0luZmluaXR5DQotICAgICAgYS5pbmRleE9mKDUuNSkgIT09IDU1NTUgKQ0KLSAgew0KLSAg
ICByZXR1cm4gZmFsc2U7DQotICB9DQotICBpZiAoYS5pbmRleE9mKHRydWUpID09PSAtMSAmJiAN
Ci0gICAgICBhLmluZGV4T2YoNSkgPT09IC0xICYmDQotICAgICAgYS5pbmRleE9mKCJzdHIxIikg
PT09IC0xICYmDQotICAgICAgYS5pbmRleE9mKG51bGwpID09PSAtMSAmJg0KLSAgICAgIGEuaW5k
ZXhPZihuZXcgT2JqZWN0KCkpID09PSAtMSkgDQotICB7DQotICAgIHJldHVybiB0cnVlOw0KLSAg
fQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJu
IGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAK
Ky8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggeworaWQ6ICIxNS40LjQuMTQtMTAtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMTAtMS5qcyIsCisKK2Rlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgcmV0dXJucyAtMSBmb3IgZWxlbWVudHMgbm90IHBy
ZXNlbnQgaW4gYXJyYXkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGEg
PSBuZXcgQXJyYXkoKTsKKyAgYVsxMDBdID0gMTsKKyAgYVs5OTk5OV0gPSAiIjsgIAorICBhWzEw
XSA9IG5ldyBPYmplY3QoKTsKKyAgYVs1NTU1XSA9IDUuNTsKKyAgYVsxMjM0NTZdID0gInN0ciI7
CisgIGFbNV0gPSAxRSszMDk7CisgIGlmIChhLmluZGV4T2YoMSkgIT09IDEwMCB8fCAKKyAgICAg
IGEuaW5kZXhPZigiIikgIT09IDk5OTk5IHx8CisgICAgICBhLmluZGV4T2YoInN0ciIpICE9PSAx
MjM0NTYgfHwKKyAgICAgIGEuaW5kZXhPZigxRSszMDkpICE9PSA1IHx8ICAgLy9JbmZpbml0eQor
ICAgICAgYS5pbmRleE9mKDUuNSkgIT09IDU1NTUgKQorICB7CisgICAgcmV0dXJuIGZhbHNlOwor
ICB9CisgIGlmIChhLmluZGV4T2YodHJ1ZSkgPT09IC0xICYmIAorICAgICAgYS5pbmRleE9mKDUp
ID09PSAtMSAmJgorICAgICAgYS5pbmRleE9mKCJzdHIxIikgPT09IC0xICYmCisgICAgICBhLmlu
ZGV4T2YobnVsbCkgPT09IC0xICYmCisgICAgICBhLmluZGV4T2YobmV3IE9iamVjdCgpKSA9PT0g
LTEpIAorICB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRl
eE9mKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMTAtMS5qcwpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTQtMTAtMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTEwLTIuanMJKHJldmlzaW9u
IDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTQtMTAtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NiArMSw0NiBAQAotLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0K
LQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTQtMTAtMiIs
DQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1
LjQuNC4xNC0xMC0yLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRl
eE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgZG9lcyBub3QgYWNjZXNzIGFueSBv
dGhlciBwcm9wZXJ0aWVzIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZh
ciBhY2Nlc3NlZCA9IGZhbHNlOw0KLSAgdmFyIGYgPSB7bGVuZ3RoOiAwfTsNCi0gIE9iamVjdC5k
ZWZpbmVQcm9wZXJ0eShmLCIwIix7Z2V0OiBmdW5jdGlvbiAoKSB7YWNjZXNzZWQgPSB0cnVlOyBy
ZXR1cm4gMTt9fSk7DQotDQotICANCi0gIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmluZGV4T2Yu
Y2FsbChmLDEpOw0KLSAgDQotICBpZiAoaSA9PT0gLTEgJiYgYWNjZXNzZWQ9PWZhbHNlKSB7DQot
ICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKSAm
JiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOw0KLSB9DQotfSk7DQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKK2lkOiAiMTUuNC40LjE0LTEwLTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTEwLTIuanMiLAorCitkZXNjcmlwdGlv
bjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCBh
bmQgZG9lcyBub3QgYWNjZXNzIGFueSBvdGhlciBwcm9wZXJ0aWVzIiwKKwordGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7CisgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOworICB2YXIgZiA9IHtsZW5n
dGg6IDB9OworICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZiwiMCIse2dldDogZnVuY3Rpb24gKCkg
e2FjY2Vzc2VkID0gdHJ1ZTsgcmV0dXJuIDE7fX0pOworCisgIAorICB2YXIgaSA9IEFycmF5LnBy
b3RvdHlwZS5pbmRleE9mLmNhbGwoZiwxKTsKKyAgCisgIGlmIChpID09PSAtMSAmJiBhY2Nlc3Nl
ZD09ZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmlu
ZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CisgfQorfSk7CgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE0LTEwLTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQoj
IyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTIt
MS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE0LTItMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTEuanMJKHdv
cmtpbmcgY29weSkKQEAgLTEsNDEgKzEsNDEgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QN
Ci0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTQtMi0xIiwNCi0NCi0gICAgcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTEuanMiLA0K
LQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gJ2xlbmd0
aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLA0KLQ0KLSAg
ICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gICAgICAgIHZhciBvYmpPbmUgPSB7IDE6
IHRydWUsIGxlbmd0aDogMiB9Ow0KLSAgICAgICAgdmFyIG9ialR3byA9IHsgMjogdHJ1ZSwgbGVu
Z3RoOiAyIH07DQotICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChv
YmpPbmUsIHRydWUpID09PSAxICYmDQotICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4
T2YuY2FsbChvYmpUd28sIHRydWUpID09PSAtMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAg
aWQ6ICIxNS40LjQuMTQtMi0xIiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMi0xLmpzIiwKKworICAgIGRlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9w
ZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsKKyAgICAgICAgdmFyIG9iak9uZSA9IHsgMTogdHJ1ZSwgbGVuZ3RoOiAyIH07Cisg
ICAgICAgIHZhciBvYmpUd28gPSB7IDI6IHRydWUsIGxlbmd0aDogMiB9OworICAgICAgICByZXR1
cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmpPbmUsIHRydWUpID09PSAxICYmCisg
ICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9ialR3bywgdHJ1ZSkgPT09
IC0xOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAg
ICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsKKyAgICB9CisK
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTEuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE0LTItMTAuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTEwLmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0
LTItMTAuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTkgKzEsNTkgQEAKLS8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
DQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTQtMi0xMCIsDQotDQotICAg
IHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQu
MTQtMi0xMC5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4
T2Ygd2hlbiAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMg
YW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7DQotICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCi0gICAgICAgIE9iamVjdC5k
ZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCi0gICAgICAgICAgICBnZXQ6IGZ1bmN0
aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgcmV0dXJuIDA7DQotICAgICAgICAgICAgfSwNCi0g
ICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCi0gICAgICAgIH0pOw0KLQ0KLSAgICAgICAg
dmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KLSAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3Rv
Ow0KLQ0KLSAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KLSAgICAgICAgY2hpbGRbMV0g
PSB0cnVlOw0KLQ0KLSAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3Ro
Iiwgew0KLSAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KLSAgICAgICAgICAgICAgICBy
ZXR1cm4gMjsNCi0gICAgICAgICAgICB9LA0KLSAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1
ZQ0KLSAgICAgICAgfSk7DQotDQotICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4
T2YuY2FsbChjaGlsZCwgdHJ1ZSkgPT09IDE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnBy
b3RvdHlwZS5pbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOw0KLSAg
ICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisv
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisv
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKwor
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQtMi0xMCIsCisK
KyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUu
NC40LjE0LTItMTAuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5k
ZXhPZiB3aGVuICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRl
cyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkiLAorCisgICAgdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7CisgICAgICAgIHZhciBwcm90byA9IHt9OworICAgICAgICBPYmplY3QuZGVm
aW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7CisgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9u
ICgpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIH0sCisgICAgICAg
ICAgICBjb25maWd1cmFibGU6IHRydWUKKyAgICAgICAgfSk7CisKKyAgICAgICAgdmFyIENvbiA9
IGZ1bmN0aW9uICgpIHt9OworICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87CisKKyAgICAg
ICAgdmFyIGNoaWxkID0gbmV3IENvbigpOworICAgICAgICBjaGlsZFsxXSA9IHRydWU7CisKKyAg
ICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgeworICAgICAgICAg
ICAgZ2V0OiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIDI7CisgICAgICAg
ICAgICB9LAorICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCisgICAgICAgIH0pOworCisg
ICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGNoaWxkLCB0cnVlKSA9
PT0gMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7Cisg
ICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZikgJiYgZm5FeGlz
dHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNC0yLTEwLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAj
IworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTExLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTQtMi0xMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTExLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDU2ICsxLDU2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MN
Ci0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0v
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQot
DQotICAgIGlkOiAiMTUuNC40LjE0LTItMTEiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTItMTEuanMiLA0KLQ0KLSAg
ICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gJ2xlbmd0aCcgaXMg
aW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCi0gICAgICAgIE9iamVjdC5k
ZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCi0gICAgICAgICAgICBnZXQ6IGZ1bmN0
aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgcmV0dXJuIDI7DQotICAgICAgICAgICAgfSwNCi0g
ICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCi0gICAgICAgIH0pOw0KLQ0KLSAgICAgICAg
dmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KLSAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3Rv
Ow0KLQ0KLSAgICAgICAgdmFyIGNoaWxkT25lID0gbmV3IENvbigpOw0KLSAgICAgICAgY2hpbGRP
bmVbMV0gPSB0cnVlOw0KLSAgICAgICAgdmFyIGNoaWxkVHdvID0gbmV3IENvbigpOw0KLSAgICAg
ICAgY2hpbGRUd29bMl0gPSB0cnVlOw0KLQ0KLSAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlw
ZS5pbmRleE9mLmNhbGwoY2hpbGRPbmUsIHRydWUpID09PSAxICYmDQotICAgICAgICAgICAgQXJy
YXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChjaGlsZFR3bywgdHJ1ZSkgPT09IC0xOw0KLSAgICB9
LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJl
dHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0
LmRlZmluZVByb3BlcnR5KTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisv
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlk
OiAiMTUuNC40LjE0LTItMTEiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTExLmpzIiwKKworICAgIGRlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNj
ZXNzb3IgcHJvcGVydHkiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAg
ICAgICAgdmFyIHByb3RvID0ge307CisgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90
bywgImxlbmd0aCIsIHsKKyAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeworICAgICAgICAg
ICAgICAgIHJldHVybiAyOworICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIGNvbmZpZ3VyYWJs
ZTogdHJ1ZQorICAgICAgICB9KTsKKworICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307
CisgICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsKKworICAgICAgICB2YXIgY2hpbGRPbmUg
PSBuZXcgQ29uKCk7CisgICAgICAgIGNoaWxkT25lWzFdID0gdHJ1ZTsKKyAgICAgICAgdmFyIGNo
aWxkVHdvID0gbmV3IENvbigpOworICAgICAgICBjaGlsZFR3b1syXSA9IHRydWU7CisKKyAgICAg
ICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoY2hpbGRPbmUsIHRydWUpID09
PSAxICYmCisgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGNoaWxkVHdv
LCB0cnVlKSA9PT0gLTE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2Yp
ICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CisgICAgfQorCit9KTsKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTQtMi0xMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMj
IC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi0x
Mi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE0LTItMTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi0xMi5qcwko
d29ya2luZyBjb3B5KQpAQCAtMSw0NSArMSw0NSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNC0yLTEyIiwNCi0NCi0gICAgcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTEyLmpz
IiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuICds
ZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIiwN
Ci0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgb2Jq
ID0geyAxOiB0cnVlIH07DQotICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVu
Z3RoIiwgew0KLSAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KLSAgICAgICAgICAg
IGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KLSAgICAgICAgfSk7DQotDQotICAgICAgICByZXR1cm4gQXJy
YXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAtMTsNCi0gICAgfSwNCi0N
Ci0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4g
Zm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZp
bmVQcm9wZXJ0eSk7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1
LjQuNC4xNC0yLTEyIiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUu
NC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMi0xMi5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFy
cmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3Bl
cnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24iLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7CisKKyAgICAgICAgdmFyIG9iaiA9IHsgMTogdHJ1ZSB9OworICAgICAgICBPYmplY3Qu
ZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgeworICAgICAgICAgICAgc2V0OiBmdW5jdGlv
biAoKSB7IH0sCisgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKKyAgICAgICAgfSk7CisK
KyAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9
PT0gLTE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewor
ICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpICYmIGZuRXhp
c3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTQtMi0xMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi0xMy5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE0LTItMTMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi0xMy5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSw1NSArMSw1NSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
DQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQot
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0K
LQ0KLSAgICBpZDogIjE1LjQuNC4xNC0yLTEzIiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTEzLmpzIiwNCi0NCi0g
ICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuICdsZW5ndGgnIGlz
IG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJp
ZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSIsDQotDQotICAgIHRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgew0KLSAgICAgICAgdHJ5IHsNCi0gICAgICAgICAgICBPYmplY3QuZGVm
aW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgImxlbmd0aCIsIHsNCi0gICAgICAgICAgICAg
ICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQot
ICAgICAgICAgICAgICAgIH0sDQotICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0K
LSAgICAgICAgICAgIH0pOw0KLQ0KLSAgICAgICAgICAgIHZhciBvYmogPSB7IDE6IDEgfTsNCi0g
ICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KLSAgICAg
ICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCi0gICAgICAgICAgICAgICAgY29uZmln
dXJhYmxlOiB0cnVlDQotICAgICAgICAgICAgfSk7DQotDQotICAgICAgICAgICAgcmV0dXJuIEFy
cmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAxKSA9PT0gLTE7DQotICAgICAgICB9IGZp
bmFsbHkgew0KLSAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmxlbmd0aDsNCi0g
ICAgICAgIH0NCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpICYm
IGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7DQotICAgIH0NCi0NCi19KTsNCisvLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNC0yLTEzIiwKKworICAgIHBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMi0xMy5qcyIsCisK
KyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gJ2xlbmd0aCcg
aXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVy
cmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IiwKKworICAgIHRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJsZW5ndGgiLCB7CisgICAgICAgICAgICAgICAg
Z2V0OiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAyMDsKKyAgICAg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQorICAgICAg
ICAgICAgfSk7CisKKyAgICAgICAgICAgIHZhciBvYmogPSB7IDE6IDEgfTsKKyAgICAgICAgICAg
IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7CisgICAgICAgICAgICAgICAg
c2V0OiBmdW5jdGlvbiAoKSB7IH0sCisgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVl
CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5p
bmRleE9mLmNhbGwob2JqLCAxKSA9PT0gLTE7CisgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGg7CisgICAgICAgIH0KKyAgICB9LAor
CisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTEzLmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTE0LmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi0xNC5q
cwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTE0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUxICsx
LDUxIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0v
Ly8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQN
Ci0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0K
LS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8g
DQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUu
NC40LjE0LTItMTQiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1
LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTItMTQuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjog
IkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gJ2xlbmd0aCcgaXMgaW5oZXJpdGVkIGFjY2Vz
c29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24iLA0KLQ0KLSAgICB0ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciBwcm90byA9IHt9Ow0KLSAgICAgICAg
T2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KLSAgICAgICAgICAgIHNl
dDogZnVuY3Rpb24gKCkgeyB9LA0KLSAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KLSAg
ICAgICAgfSk7DQotDQotICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQotICAgICAg
ICBDb24ucHJvdG90eXBlID0gcHJvdG87DQotDQotICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29u
KCk7DQotICAgICAgICBjaGlsZFsxXSA9IHRydWU7DQotDQotICAgICAgICByZXR1cm4gQXJyYXku
cHJvdG90eXBlLmluZGV4T2YuY2FsbChjaGlsZCwgdHJ1ZSkgPT09IC0xOw0KLSAgICB9LA0KLQ0K
LSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IK
Ky8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUu
NC40LjE0LTItMTQiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40
LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTE0LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3Ig
cHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIgcHJvdG8gPSB7fTsKKyAgICAgICAgT2JqZWN0LmRl
ZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgeworICAgICAgICAgICAgc2V0OiBmdW5jdGlv
biAoKSB7IH0sCisgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKKyAgICAgICAgfSk7CisK
KyAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9OworICAgICAgICBDb24ucHJvdG90eXBl
ID0gcHJvdG87CisKKyAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOworICAgICAgICBjaGls
ZFsxXSA9IHRydWU7CisKKyAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNh
bGwoY2hpbGQsIHRydWUpID09PSAtMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUu
aW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKKyAgICB9CisKK30p
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTE0LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNC0yLTE1LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi0xNS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0y
LTE1LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQxICsxLDQxIEBACi0vLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0K
LS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
Uw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTItMTUiLA0KLQ0KLSAgICBw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0
LTItMTUuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9m
IHdoZW4gJ2xlbmd0aCcgaXMgdW5kZWZpbmVkIHByb3BlcnR5IiwNCi0NCi0gICAgdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgb2JqID0geyAwOiB0cnVlLCAxOiB0
cnVlIH07DQotDQotICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChv
YmosIHRydWUpID09PSAtMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmlu
ZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQu
MTQtMi0xNSIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMTQvMTUuNC40LjE0LTItMTUuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUuaW5kZXhPZiB3aGVuICdsZW5ndGgnIGlzIHVuZGVmaW5lZCBwcm9wZXJ0eSIsCisK
KyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIgb2JqID0geyAw
OiB0cnVlLCAxOiB0cnVlIH07CisKKyAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRl
eE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gLTE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90
eXBlLmluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTItMTUuanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTItMTcuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTE3
LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTItMTcuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTUg
KzEsNTUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIx
NS40LjQuMTQtMi0xNyIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMi0xNy5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiAnbGVuZ3RoJyBpcyBwcm9wZXJ0eSBvZiB0
aGUgZG9jdW1lbnQgaG9zdCBvYmplY3QiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsNCi0gICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCi0gICAgICAgIHRyeSB7DQotICAg
ICAgICAgICAgZG9jdW1lbnQubGVuZ3RoID0gMjsNCi0NCi0gICAgICAgICAgICBkb2N1bWVudFsx
XSA9IHRhcmdldE9iajsNCi0gICAgICAgICAgICBpZiAoQXJyYXkucHJvdG90eXBlLmluZGV4T2Yu
Y2FsbChkb2N1bWVudCwgdGFyZ2V0T2JqKSAhPT0gMSkgew0KLSAgICAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7DQotICAgICAgICAgICAgfQ0KLQ0KLSAgICAgICAgICAgIGRvY3VtZW50WzFdID0g
e307DQotICAgICAgICAgICAgZG9jdW1lbnRbMl0gPSB0YXJnZXRPYmo7DQotDQotICAgICAgICAg
ICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoZG9jdW1lbnQsIHRhcmdldE9i
aikgPT09IC0xOw0KLSAgICAgICAgfSBmaW5hbGx5IHsNCi0gICAgICAgICAgICBkZWxldGUgZG9j
dW1lbnRbMV07DQotICAgICAgICAgICAgZGVsZXRlIGRvY3VtZW50WzJdOw0KLSAgICAgICAgICAg
IGRlbGV0ZSBkb2N1bWVudC5sZW5ndGg7DQotICAgICAgICB9DQotICAgIH0sDQotDQotICAgIHBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3Rz
KEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsK
KworICAgIGlkOiAiMTUuNC40LjE0LTItMTciLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTE3LmpzIiwKKworICAgIGRl
c2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiAnbGVuZ3RoJyBpcyBwcm9w
ZXJ0eSBvZiB0aGUgZG9jdW1lbnQgaG9zdCBvYmplY3QiLAorCisgICAgdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7CisgICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsKKyAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgIGRvY3VtZW50Lmxlbmd0aCA9IDI7CisKKyAgICAgICAgICAgIGRvY3VtZW50
WzFdID0gdGFyZ2V0T2JqOworICAgICAgICAgICAgaWYgKEFycmF5LnByb3RvdHlwZS5pbmRleE9m
LmNhbGwoZG9jdW1lbnQsIHRhcmdldE9iaikgIT09IDEpIHsKKyAgICAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGRvY3VtZW50WzFdID0ge307
CisgICAgICAgICAgICBkb2N1bWVudFsyXSA9IHRhcmdldE9iajsKKworICAgICAgICAgICAgcmV0
dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoZG9jdW1lbnQsIHRhcmdldE9iaikgPT09
IC0xOworICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgZGVsZXRlIGRvY3VtZW50WzFd
OworICAgICAgICAgICAgZGVsZXRlIGRvY3VtZW50WzJdOworICAgICAgICAgICAgZGVsZXRlIGRv
Y3VtZW50Lmxlbmd0aDsKKyAgICAgICAgfQorICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlw
ZS5pbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTE3LmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTE4LmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi0xOC5q
cwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTE4LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ2ICsx
LDQ2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0v
Ly8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQN
Ci0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0K
LS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8g
DQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4NCi0NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAi
MTUuNC40LjE0LTItMTgiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40
LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTItMTguanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlv
bjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gQXJndW1lbnRzIG9iamVjdCB3
aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCIsDQotDQotICAgIHRl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlv
bihhLCBiKSB7DQotICAgICAgICAgICAgYXJndW1lbnRzWzJdID0gZmFsc2U7DQotICAgICAgICAg
ICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYXJndW1lbnRzLCB0cnVlKSA9
PT0gMSAmJg0KLSAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFy
Z3VtZW50cywgZmFsc2UpID09PSAtMTsNCi0gICAgICAgIH0NCi0NCi0gICAgICAgIHJldHVybiBm
dW5jKDAsIHRydWUpOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhP
Zik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE0
LTItMTgiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjE0LzE1LjQuNC4xNC0yLTE4LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVu
dHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeworCisgICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24oYSwgYikgeworICAgICAg
ICAgICAgYXJndW1lbnRzWzJdID0gZmFsc2U7CisgICAgICAgICAgICByZXR1cm4gQXJyYXkucHJv
dG90eXBlLmluZGV4T2YuY2FsbChhcmd1bWVudHMsIHRydWUpID09PSAxICYmCisgICAgICAgICAg
ICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcmd1bWVudHMsIGZhbHNlKSA9PT0g
LTE7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gZnVuYygwLCB0cnVlKTsKKyAgICB9LAor
CisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTQtMi0xOC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w
LDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi0xOS5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE0LTItMTkuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi0xOS5qcwkod29y
a2luZyBjb3B5KQpAQCAtMSw0NiArMSw0NiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0K
LS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNC0yLTE5IiwNCi0NCi0gICAgcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTE5Lmpz
IiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVk
IHRvIFN0cmluZyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQg
bWV0aG9kIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICAgICAgICB2
YXIgc3RyID0gbmV3IFN0cmluZygiMDEyIik7DQotICAgICAgICB0cnkgew0KLSAgICAgICAgICAg
IFN0cmluZy5wcm90b3R5cGVbM10gPSAiMyI7DQotICAgICAgICAgICAgcmV0dXJuIEFycmF5LnBy
b3RvdHlwZS5pbmRleE9mLmNhbGwoc3RyLCAiMiIpID09PSAyICYmDQotICAgICAgICAgICAgICAg
IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoc3RyLCAiMyIpID09PSAtMTsNCi0gICAgICAg
IH0gZmluYWxseSB7DQotICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGVbM107DQot
ICAgICAgICB9DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsN
Ci0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8v
IAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
CisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQtMi0x
OSIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQu
MTQvMTUuNC40LjE0LTItMTkuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5
cGUuaW5kZXhPZiBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRz
IG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgeworICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiMDEyIik7CisgICAgICAgIHRyeSB7
CisgICAgICAgICAgICBTdHJpbmcucHJvdG90eXBlWzNdID0gIjMiOworICAgICAgICAgICAgcmV0
dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoc3RyLCAiMiIpID09PSAyICYmCisgICAg
ICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChzdHIsICIzIikgPT09IC0x
OworICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5
cGVbM107CisgICAgICAgIH0KKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhP
Zik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi0xOS5qcwpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi0yLmpzCShyZXZpc2lv
biAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE0LTItMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NyArMSw0NyBAQAotLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNC0yLTIi
LA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQu
MTQvMTUuNC40LjE0LTItMi5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90
eXBlLmluZGV4T2Ygd2hlbiAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJh
eSIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgICAgICAgdmFyIHRh
cmdldE9iaiA9IHt9Ow0KLSAgICAgICAgdHJ5IHsNCi0gICAgICAgICAgICBBcnJheS5wcm90b3R5
cGVbMl0gPSB0YXJnZXRPYmo7DQotICAgICAgICAgICAgDQotICAgICAgICAgICAgcmV0dXJuIFsw
LCB0YXJnZXRPYmpdLmluZGV4T2YodGFyZ2V0T2JqKSA9PT0gMSAmJg0KLSAgICAgICAgICAgICAg
ICBbMCwgMV0uaW5kZXhPZih0YXJnZXRPYmopID09PSAtMTsNCi0NCi0gICAgICAgIH0gZmluYWxs
eSB7DQotICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCi0gICAgICAgIH0N
Ci0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAg
ICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQot
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQtMi0yIiwKKworICAgIHBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQt
Mi0yLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hl
biAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheSIsCisKKyAgICB0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9OworICAg
ICAgICB0cnkgeworICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzJdID0gdGFyZ2V0T2JqOwor
ICAgICAgICAgICAgCisgICAgICAgICAgICByZXR1cm4gWzAsIHRhcmdldE9ial0uaW5kZXhPZih0
YXJnZXRPYmopID09PSAxICYmCisgICAgICAgICAgICAgICAgWzAsIDFdLmluZGV4T2YodGFyZ2V0
T2JqKSA9PT0gLTE7CisKKyAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgIGRlbGV0ZSBB
cnJheS5wcm90b3R5cGVbMl07CisgICAgICAgIH0KKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90
b3R5cGUuaW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi0yLmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTIwLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi0y
MC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTIwLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ1
ICsxLDQ1IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAN
Ci0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0v
Ly8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4NCi0NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlk
OiAiMTUuNC40LjE0LTItMjAiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTItMjAuanMiLA0KLQ0KLSAgICBkZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0
IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIiwNCi0NCi0gICAg
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgb2JqID0gbmV3IEZ1
bmN0aW9uKCJhIiwgImIiLCAicmV0dXJuIGEgKyBiIik7IC8vdmFsdWUgb2Ygb2JqIGxlbmd0aCBw
cm9wZXJ0eSB3aWxsIGJlIDI7DQotICAgICAgICBvYmpbMV0gPSAiYiI7DQotICAgICAgICBvYmpb
Ml0gPSAiYyI7DQotDQotICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2Fs
bChvYmosIG9ialsxXSkgPT09IDEgJiYNCi0gICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5k
ZXhPZi5jYWxsKG9iaiwgb2JqWzJdKSA9PT0gLTE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5
LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisg
ICAgaWQ6ICIxNS40LjQuMTQtMi0yMCIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTItMjAuanMiLAorCisgICAgZGVzY3Jp
cHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVj
dCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCIsCisKKyAgICB0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIgb2JqID0gbmV3IEZ1bmN0
aW9uKCJhIiwgImIiLCAicmV0dXJuIGEgKyBiIik7IC8vdmFsdWUgb2Ygb2JqIGxlbmd0aCBwcm9w
ZXJ0eSB3aWxsIGJlIDI7CisgICAgICAgIG9ialsxXSA9ICJiIjsKKyAgICAgICAgb2JqWzJdID0g
ImMiOworCisgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwg
b2JqWzFdKSA9PT0gMSAmJgorICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2Fs
bChvYmosIG9ialsyXSkgPT09IC0xOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5p
bmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTIwLmpzCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTMuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTMuanMJKHJl
dmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTQtMi0zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ4ICsxLDQ4IEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4N
Ci0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0
LTItMyIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1
LjQuNC4xNC8xNS40LjQuMTQtMi0zLmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUuaW5kZXhPZiB3aGVuICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQg
b3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2Jq
ZWN0IiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2
YXIgcHJvdG8gPSB7IGxlbmd0aDogMCB9Ow0KLQ0KLSAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9u
ICgpIHt9Ow0KLSAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KLQ0KLSAgICAgICAgdmFy
IGNoaWxkID0gbmV3IENvbigpOw0KLSAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCi0gICAgICAg
IGNoaWxkWzFdID0gdHJ1ZTsNCi0NCi0gICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5k
ZXhPZi5jYWxsKGNoaWxkLCB0cnVlKSA9PT0gMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAg
aWQ6ICIxNS40LjQuMTQtMi0zIiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMi0zLmpzIiwKKworICAgIGRlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9w
ZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJh
eS1saWtlIG9iamVjdCIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAg
ICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMCB9OworCisgICAgICAgIHZhciBDb24gPSBmdW5j
dGlvbiAoKSB7fTsKKyAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOworCisgICAgICAgIHZh
ciBjaGlsZCA9IG5ldyBDb24oKTsKKyAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsKKyAgICAgICAg
Y2hpbGRbMV0gPSB0cnVlOworCisgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhP
Zi5jYWxsKGNoaWxkLCB0cnVlKSA9PT0gMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUuaW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi0zLmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTQuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTQuanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi00LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ0ICsxLDQ0
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40
LjE0LTItNCIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40
LzE1LjQuNC4xNC8xNS40LjQuMTQtMi00LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJh
eS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRo
YXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5IiwNCi0N
Ci0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICAgICAgICB2YXIgdGFyZ2V0T2Jq
ID0ge307DQotICAgICAgICB0cnkgew0KLSAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5n
dGggPSAwOw0KLSAgICAgICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqXS5pbmRleE9mKHRhcmdl
dE9iaikgPT09IDE7DQotICAgICAgICB9IGZpbmFsbHkgew0KLSAgICAgICAgICAgIGRlbGV0ZSBB
cnJheS5wcm90b3R5cGUubGVuZ3RoOw0KLSAgICAgICAgfQ0KLSAgICB9LA0KLQ0KLSAgICBwcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhB
cnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisK
KyAgICBpZDogIjE1LjQuNC4xNC0yLTQiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTQuanMiLAorCisgICAgZGVzY3Jp
cHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuICdsZW5ndGgnIGlzIG93biBkYXRh
IHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFu
IEFycmF5IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgICAgICB2YXIg
dGFyZ2V0T2JqID0ge307CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBBcnJheS5wcm90b3R5
cGUubGVuZ3RoID0gMDsKKyAgICAgICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqXS5pbmRleE9m
KHRhcmdldE9iaikgPT09IDE7CisgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICBkZWxl
dGUgQXJyYXkucHJvdG90eXBlLmxlbmd0aDsKKyAgICAgICAgfQorICAgIH0sCisKKyAgICBwcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFy
cmF5LnByb3RvdHlwZS5pbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NC0yLTQuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitM
RgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTItNS5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE0LTItNS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTUuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsNTMgKzEsNTMgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
Lg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAg
aWQ6ICIxNS40LjQuMTQtMi01IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTUuanMiLA0KLQ0KLSAgICBkZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gJ2xlbmd0aCcgaXMgb3duIGRhdGEg
cHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9u
IGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCi0gICAgICAgIE9iamVjdC5kZWZpbmVQcm9w
ZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCi0gICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsN
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDA7DQotICAgICAgICAgICAgfSwNCi0gICAgICAgICAg
ICBjb25maWd1cmFibGU6IHRydWUNCi0gICAgICAgIH0pOw0KLQ0KLSAgICAgICAgdmFyIENvbiA9
IGZ1bmN0aW9uICgpIHt9Ow0KLSAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KLQ0KLSAg
ICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KLSAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsN
Ci0gICAgICAgIGNoaWxkWzFdID0gdHJ1ZTsNCi0NCi0gICAgICAgIHJldHVybiBBcnJheS5wcm90
b3R5cGUuaW5kZXhPZi5jYWxsKGNoaWxkLCB0cnVlKSA9PT0gMTsNCi0gICAgfSwNCi0NCi0gICAg
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9w
ZXJ0eSk7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4x
NC0yLTUiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjE0LzE1LjQuNC4xNC0yLTUuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90
b3R5cGUuaW5kZXhPZiB3aGVuICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3Zl
cnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9i
amVjdCIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgICAgICAgdmFyIHBy
b3RvID0ge307CisgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIs
IHsKKyAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIHJldHVy
biAwOworICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQorICAg
ICAgICB9KTsKKworICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307CisgICAgICAgIENv
bi5wcm90b3R5cGUgPSBwcm90bzsKKworICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7Cisg
ICAgICAgIGNoaWxkLmxlbmd0aCA9IDI7CisgICAgICAgIGNoaWxkWzFdID0gdHJ1ZTsKKworICAg
ICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChjaGlsZCwgdHJ1ZSkgPT09
IDE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAg
ICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpICYmIGZuRXhpc3Rz
KE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTQtMi01LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIwor
TEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTYuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNC0yLTYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi02LmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDQ5ICsxLDQ5IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0v
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAg
IGlkOiAiMTUuNC40LjE0LTItNiIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMi02LmpzIiwNCi0NCi0gICAgZGVzY3Jp
cHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuICdsZW5ndGgnIGlzIG93biBkYXRh
IHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBv
biBhbiBBcnJheSIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgICAg
ICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KLSAgICAgICAgdHJ5IHsNCi0gICAgICAgICAgICBPYmpl
Y3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAibGVuZ3RoIiwgew0KLSAgICAgICAg
ICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiAw
Ow0KLSAgICAgICAgICAgICAgICB9LA0KLSAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRy
dWUNCi0gICAgICAgICAgICB9KTsNCi0gICAgICAgICAgICByZXR1cm4gWzAsIHRhcmdldE9ial0u
aW5kZXhPZih0YXJnZXRPYmopID09PSAxOw0KLSAgICAgICAgfSBmaW5hbGx5IHsNCi0gICAgICAg
ICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlLmxlbmd0aDsNCi0gICAgICAgIH0NCi0gICAgfSwN
Ci0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5k
ZWZpbmVQcm9wZXJ0eSk7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MK
Ky8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBpZDog
IjE1LjQuNC4xNC0yLTYiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTYuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJB
cnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5
IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJh
eSIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgICAgICAgdmFyIHRhcmdl
dE9iaiA9IHt9OworICAgICAgICB0cnkgeworICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3Bl
cnR5KEFycmF5LnByb3RvdHlwZSwgImxlbmd0aCIsIHsKKyAgICAgICAgICAgICAgICBnZXQ6IGZ1
bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKKyAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgcmV0dXJuIFswLCB0YXJnZXRPYmpdLmluZGV4T2YodGFyZ2V0T2JqKSA9
PT0gMTsKKyAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90
b3R5cGUubGVuZ3RoOworICAgICAgICB9CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
LmluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CisgICAgfQorCit9
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi02LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNC0yLTcuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTcuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi03
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ5ICsxLDQ5IEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTItNyIsDQotDQotICAgIHBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMi03
LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVu
ICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IiwNCi0NCi0gICAgdGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9
Ow0KLQ0KLSAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KLSAgICAgICAgQ29uLnBy
b3RvdHlwZSA9IHByb3RvOw0KLQ0KLSAgICAgICAgdmFyIGNoaWxkT25lID0gbmV3IENvbigpOw0K
LSAgICAgICAgY2hpbGRPbmVbMV0gPSB0cnVlOw0KLSAgICAgICAgdmFyIGNoaWxkVHdvID0gbmV3
IENvbigpOw0KLSAgICAgICAgY2hpbGRUd29bMl0gPSB0cnVlOw0KLQ0KLSAgICAgICAgcmV0dXJu
IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoY2hpbGRPbmUsIHRydWUpID09PSAxICYmDQot
ICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChjaGlsZFR3bywgdHJ1ZSkg
PT09IC0xOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQot
ICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8K
Ky8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAK
Ky8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKwor
CitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNC0yLTciLAor
CisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1
LjQuNC4xNC0yLTcuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5k
ZXhPZiB3aGVuICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IiwKKworICAg
IHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0
aDogMiB9OworCisgICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsKKyAgICAgICAgQ29u
LnByb3RvdHlwZSA9IHByb3RvOworCisgICAgICAgIHZhciBjaGlsZE9uZSA9IG5ldyBDb24oKTsK
KyAgICAgICAgY2hpbGRPbmVbMV0gPSB0cnVlOworICAgICAgICB2YXIgY2hpbGRUd28gPSBuZXcg
Q29uKCk7CisgICAgICAgIGNoaWxkVHdvWzJdID0gdHJ1ZTsKKworICAgICAgICByZXR1cm4gQXJy
YXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChjaGlsZE9uZSwgdHJ1ZSkgPT09IDEgJiYKKyAgICAg
ICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoY2hpbGRUd28sIHRydWUpID09PSAt
MTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAg
ICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7CisgICAgfQorCit9
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi03LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNC0yLTguanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTguanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi04
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU0ICsxLDU0IEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTItOCIsDQotDQotICAgIHBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMi04
LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVu
ICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSIsDQotDQotICAgIHRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgew0KLSAgICAgICAgdmFyIG9iak9uZSA9IHsgMTogdHJ1ZSB9Ow0KLSAg
ICAgICAgdmFyIG9ialR3byA9IHsgMjogdHJ1ZSB9Ow0KLSAgICAgICAgT2JqZWN0LmRlZmluZVBy
b3BlcnR5KG9iak9uZSwgImxlbmd0aCIsIHsNCi0gICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgp
IHsNCi0gICAgICAgICAgICAgICAgcmV0dXJuIDI7DQotICAgICAgICAgICAgfSwNCi0gICAgICAg
ICAgICBjb25maWd1cmFibGU6IHRydWUNCi0gICAgICAgIH0pOw0KLSAgICAgICAgT2JqZWN0LmRl
ZmluZVByb3BlcnR5KG9ialR3bywgImxlbmd0aCIsIHsNCi0gICAgICAgICAgICBnZXQ6IGZ1bmN0
aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgcmV0dXJuIDI7DQotICAgICAgICAgICAgfSwNCi0g
ICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCi0gICAgICAgIH0pOw0KLQ0KLSAgICAgICAg
cmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqT25lLCB0cnVlKSA9PT0gMSAm
Jg0KLSAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqVHdvLCB0cnVl
KSA9PT0gLTE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKSAm
JiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOw0KLSAgICB9DQotDQotfSk7DQorLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
Ky8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQtMi04IiwKKworICAgIHBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMi04LmpzIiwKKwor
ICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiAnbGVuZ3RoJyBp
cyBvd24gYWNjZXNzb3IgcHJvcGVydHkiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7CisgICAgICAgIHZhciBvYmpPbmUgPSB7IDE6IHRydWUgfTsKKyAgICAgICAgdmFyIG9ialR3
byA9IHsgMjogdHJ1ZSB9OworICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqT25lLCAi
bGVuZ3RoIiwgeworICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAg
ICAgcmV0dXJuIDI7CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0
cnVlCisgICAgICAgIH0pOworICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqVHdvLCAi
bGVuZ3RoIiwgeworICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAg
ICAgcmV0dXJuIDI7CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0
cnVlCisgICAgICAgIH0pOworCisgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhP
Zi5jYWxsKG9iak9uZSwgdHJ1ZSkgPT09IDEgJiYKKyAgICAgICAgICAgIEFycmF5LnByb3RvdHlw
ZS5pbmRleE9mLmNhbGwob2JqVHdvLCB0cnVlKSA9PT0gLTE7CisgICAgfSwKKworICAgIHByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJy
YXkucHJvdG90eXBlLmluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7
CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMi04LmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNC0yLTkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTkuanMJKHJldmlzaW9uIDE5
OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTQtMi05LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU0ICsxLDU0IEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1F
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTItOSIsDQot
DQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8x
NS40LjQuMTQtMi05LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUu
aW5kZXhPZiB3aGVuICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJy
aWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDAgfTsNCi0N
Ci0gICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCi0gICAgICAgIENvbi5wcm90b3R5
cGUgPSBwcm90bzsNCi0NCi0gICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCi0gICAgICAg
IGNoaWxkWzFdID0gdHJ1ZTsNCi0NCi0gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGls
ZCwgImxlbmd0aCIsIHsNCi0gICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCi0gICAgICAg
ICAgICAgICAgcmV0dXJuIDI7DQotICAgICAgICAgICAgfSwNCi0gICAgICAgICAgICBjb25maWd1
cmFibGU6IHRydWUNCi0gICAgICAgIH0pOw0KLQ0KLSAgICAgICAgcmV0dXJuIEFycmF5LnByb3Rv
dHlwZS5pbmRleE9mLmNhbGwoY2hpbGQsIHRydWUpID09PSAxOw0KLSAgICB9LA0KLQ0KLSAgICBw
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0
cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3Bl
cnR5KTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE0
LTItOSIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40
LjQuMTQvMTUuNC40LjE0LTItOS5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3Rv
dHlwZS5pbmRleE9mIHdoZW4gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQg
b3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IiwKKworICAgIHRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAwIH07CisK
KyAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9OworICAgICAgICBDb24ucHJvdG90eXBl
ID0gcHJvdG87CisKKyAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOworICAgICAgICBjaGls
ZFsxXSA9IHRydWU7CisKKyAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVu
Z3RoIiwgeworICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAg
cmV0dXJuIDI7CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVl
CisgICAgICAgIH0pOworCisgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5j
YWxsKGNoaWxkLCB0cnVlKSA9PT0gMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUu
aW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKKyAgICB9CisKK30p
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNC0yLTkuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1z
dHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE0LTMtMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0zLTEu
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDEgKzEsNDEgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQot
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTQtMy0xIiwNCi0NCi0gICAgcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTEu
anMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4g
dmFsdWUgb2YgJ2xlbmd0aCcgaXMgdW5kZWZpbmVkIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgb2JqID0geyAwOiAxLCAxOiAxLCBsZW5ndGg6
IHVuZGVmaW5lZCB9Ow0KLQ0KLSAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9m
LmNhbGwob2JqLCAxKSA9PT0gLTE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlw
ZS5pbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IK
Ky8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUu
NC40LjE0LTMtMSIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQu
NC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMS5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgdW5kZWZpbmVkIiwK
KworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHZhciBvYmogPSB7
IDA6IDEsIDE6IDEsIGxlbmd0aDogdW5kZWZpbmVkIH07CisKKyAgICAgICAgcmV0dXJuIEFycmF5
LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAxKSA9PT0gLTE7CisgICAgfSwKKworICAgIHBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMo
QXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE0LTMtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMK
K0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0xMC5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE0LTMtMTAuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0xMC5qcwkod29ya2luZyBjb3B5
KQpAQCAtMSw0MSArMSw0MSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
DQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQot
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0K
LSAgICBpZDogIjE1LjQuNC4xNC0zLTEwIiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTEwLmpzIiwNCi0NCi0gICAg
ZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIHZhbHVlIG9mICdsZW5n
dGgnIGlzIG51bWJlciBwcmltaXRpdmUgKHZhbHVlIGlzIE5hTikiLA0KLQ0KLSAgICB0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciBvYmogPSB7IDA6IDAsIGxlbmd0
aDogTmFOIH07DQotDQotICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2Fs
bChvYmosIDApID09PSAtMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmlu
ZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQu
MTQtMy0xMCIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMTQvMTUuNC40LjE0LTMtMTAuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUuaW5kZXhPZiB3aGVuIHZhbHVlIG9mICdsZW5ndGgnIGlzIG51bWJlciBwcmltaXRp
dmUgKHZhbHVlIGlzIE5hTikiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisK
KyAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgbGVuZ3RoOiBOYU4gfTsKKworICAgICAgICByZXR1
cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDApID09PSAtMTsKKyAgICB9LAor
CisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTQtMy0xMC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w
LDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0xMS5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE0LTMtMTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0xMS5qcwkod29y
a2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0K
LS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRl
c3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNC0zLTExIiwNCi0NCi0gICAgcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTExLmpzIiwN
Ci0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuICdsZW5n
dGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBwb3NpdGl2ZSBudW1iZXIiLA0KLQ0KLSAgICB0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciBvYmogPSB7IDE6IDEs
IDI6IDIsIGxlbmd0aDogIjIiIH07DQotDQotICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBl
LmluZGV4T2YuY2FsbChvYmosIDEpID09PSAxICYmDQotICAgICAgICBBcnJheS5wcm90b3R5cGUu
aW5kZXhPZi5jYWxsKG9iaiwgMikgPT09IC0xOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5w
cm90b3R5cGUuaW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBp
ZDogIjE1LjQuNC4xNC0zLTExIiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMy0xMS5qcyIsCisKKyAgICBkZXNjcmlwdGlv
bjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29u
dGFpbmluZyBhIHBvc2l0aXZlIG51bWJlciIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKworICAgICAgICB2YXIgb2JqID0geyAxOiAxLCAyOiAyLCBsZW5ndGg6ICIyIiB9Owor
CisgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMSkgPT09
IDEgJiYKKyAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDIpID09PSAt
MTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAg
ICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7CisgICAgfQorCit9
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0xMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTQtMy0xMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtMTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQt
My0xMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNC0zLTEyIiwNCi0NCi0gICAg
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4x
NC0zLTEyLmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhP
ZiB3aGVuICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBuZWdhdGl2ZSBudW1iZXIi
LA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciBv
YmogPSB7IDE6ICJ0cnVlIiwgMjogIjIiLCBsZW5ndGg6ICItNDI5NDk2NzI5NCIgfTsNCi0NCi0g
ICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgInRydWUiKSA9
PT0gMSAmJg0KLSAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosICIyIikg
PT09IC0xOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQot
ICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8K
Ky8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAK
Ky8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKwor
CitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNC0zLTEyIiwK
KworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8x
NS40LjQuMTQtMy0xMi5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5p
bmRleE9mIHdoZW4gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG5lZ2F0aXZlIG51
bWJlciIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIg
b2JqID0geyAxOiAidHJ1ZSIsIDI6ICIyIiwgbGVuZ3RoOiAiLTQyOTQ5NjcyOTQiIH07CisKKyAg
ICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAidHJ1ZSIpID09
PSAxICYmCisgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAiMiIpID09
PSAtMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7Cisg
ICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7CisgICAgfQor
Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0xMi5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTQtMy0xMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtMTMuanMJKHJldmlzaW9uIDE5OTU0OSkK
KysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTQtMy0xMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQot
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNC0zLTEzIiwNCi0NCi0g
ICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQu
NC4xNC0zLTEzLmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5k
ZXhPZiB3aGVuICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBkZWNpbWFsIG51bWJl
ciIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgdmFy
IG9iaiA9IHsgMTk5OiB0cnVlLCAyMDA6ICIyMDAuNTkiLCBsZW5ndGg6ICIyMDAuNTkiIH07DQot
DQotICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUp
ID09PSAxOTkgJiYNCi0gICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9i
aiwgIjIwMC41OSIpID09PSAtMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
LmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40
LjQuMTQtMy0xMyIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQu
NC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMTMuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJh
eS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcg
YSBkZWNpbWFsIG51bWJlciIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKwor
ICAgICAgICB2YXIgb2JqID0geyAxOTk6IHRydWUsIDIwMDogIjIwMC41OSIsIGxlbmd0aDogIjIw
MC41OSIgfTsKKworICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChv
YmosIHRydWUpID09PSAxOTkgJiYKKyAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9m
LmNhbGwob2JqLCAiMjAwLjU5IikgPT09IC0xOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3Rv
dHlwZS5pbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0zLTEzLmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0zLTE0LmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0x
NC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0zLTE0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ1
ICsxLDQ1IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAN
Ci0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0v
Ly8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAi
MTUuNC40LjE0LTMtMTQiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40
LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMTQuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlv
bjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29u
dGFpbmluZyArLy1JbmZpbml0eSIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
ew0KLQ0KLSAgICAgICAgdmFyIG9iak9uZSA9IHsgMDogdHJ1ZSwgMTogdHJ1ZSwgbGVuZ3RoOiAi
SW5maW5pdHkiIH07DQotICAgICAgICB2YXIgb2JqVHdvID0geyAwOiB0cnVlLCAxOiB0cnVlLCBs
ZW5ndGg6ICIrSW5maW5pdHkiIH07DQotICAgICAgICB2YXIgb2JqVGhyZWUgPSB7IDA6IHRydWUs
IDE6IHRydWUsIGxlbmd0aDogIi1JbmZpbml0eSIgfTsNCi0NCi0gICAgICAgIHJldHVybiBBcnJh
eS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iak9uZSwgdHJ1ZSkgPT09IC0xICYmDQotICAgICAg
ICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmpUd28sIHRydWUpID09PSAtMSAm
Jg0KLSAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqVGhyZWUsIHRy
dWUpID09PSAtMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2Yp
Ow0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisv
Ly8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQtMy0x
NCIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQu
MTQvMTUuNC40LjE0LTMtMTQuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5
cGUuaW5kZXhPZiB3aGVuICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgKy8tSW5maW5p
dHkiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgdmFyIG9i
ak9uZSA9IHsgMDogdHJ1ZSwgMTogdHJ1ZSwgbGVuZ3RoOiAiSW5maW5pdHkiIH07CisgICAgICAg
IHZhciBvYmpUd28gPSB7IDA6IHRydWUsIDE6IHRydWUsIGxlbmd0aDogIitJbmZpbml0eSIgfTsK
KyAgICAgICAgdmFyIG9ialRocmVlID0geyAwOiB0cnVlLCAxOiB0cnVlLCBsZW5ndGg6ICItSW5m
aW5pdHkiIH07CisKKyAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwo
b2JqT25lLCB0cnVlKSA9PT0gLTEgJiYKKyAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRl
eE9mLmNhbGwob2JqVHdvLCB0cnVlKSA9PT0gLTEgJiYKKyAgICAgICAgICAgIEFycmF5LnByb3Rv
dHlwZS5pbmRleE9mLmNhbGwob2JqVGhyZWUsIHRydWUpID09PSAtMTsKKyAgICB9LAorCisgICAg
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0
cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTQtMy0xNC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0xNS5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE0LTMtMTUuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0xNS5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
DQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQot
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0K
LQ0KLSAgICBpZDogIjE1LjQuNC4xNC0zLTE1IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTE1LmpzIiwNCi0NCi0g
ICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuICdsZW5ndGgnIGlz
IGEgc3RyaW5nIGNvbnRhaW5pbmcgYW4gZXhwb25lbnRpYWwgbnVtYmVyIiwNCi0NCi0gICAgdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgb2JqID0geyAxOiB0cnVl
LCAyOiAiMkUwIiwgbGVuZ3RoOiAiMkUwIiB9Ow0KLQ0KLSAgICAgICAgcmV0dXJuIEFycmF5LnBy
b3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMSAmJg0KLSAgICAgICAgQXJyYXku
cHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosICIyRTAiKSA9PT0gLTE7DQotICAgIH0sDQotDQot
ICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZu
RXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisv
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE0LTMtMTUiLAorCisgICAgcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTE1LmpzIiwKKwor
ICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiAnbGVuZ3RoJyBp
cyBhIHN0cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50aWFsIG51bWJlciIsCisKKyAgICB0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIgb2JqID0geyAxOiB0cnVlLCAy
OiAiMkUwIiwgbGVuZ3RoOiAiMkUwIiB9OworCisgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5
cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDEgJiYKKyAgICAgICAgQXJyYXkucHJvdG90
eXBlLmluZGV4T2YuY2FsbChvYmosICIyRTAiKSA9PT0gLTE7CisgICAgfSwKKworICAgIHByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJy
YXkucHJvdG90eXBlLmluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0
LTMtMTUuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitM
RgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtMTYuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNC0zLTE2LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtMTYuanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0K
LS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0g
ICAgaWQ6ICIxNS40LjQuMTQtMy0xNiIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMy0xNi5qcyIsDQotDQotICAgIGRl
c2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiAnbGVuZ3RoJyBpcyBhIHN0
cmluZyBjb250YWluaW5nIGEgaGV4IG51bWJlciIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgew0KLQ0KLSAgICAgICAgdmFyIG9iaiA9IHsgMTA6IHRydWUsIDExOiAiMHgwMEIi
LCBsZW5ndGg6ICIweDAwQiIgfTsNCi0NCi0gICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUu
aW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDEwICYmDQotICAgICAgICAgICAgQXJyYXkucHJv
dG90eXBlLmluZGV4T2YuY2FsbChvYmosICIweDAwQiIpID09PSAtMTsNCi0gICAgfSwNCi0NCi0g
ICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5F
eGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQtMy0xNiIsCisKKyAgICBwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMTYuanMiLAorCisg
ICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuICdsZW5ndGgnIGlz
IGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBoZXggbnVtYmVyIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworCisgICAgICAgIHZhciBvYmogPSB7IDEwOiB0cnVlLCAxMTogIjB4MDBC
IiwgbGVuZ3RoOiAiMHgwMEIiIH07CisKKyAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5p
bmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTAgJiYKKyAgICAgICAgICAgIEFycmF5LnByb3Rv
dHlwZS5pbmRleE9mLmNhbGwob2JqLCAiMHgwMEIiKSA9PT0gLTE7CisgICAgfSwKKworICAgIHBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMo
QXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE0LTMtMTYuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtMTcuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNC0zLTE3LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtMTcuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0N
Ci0gICAgaWQ6ICIxNS40LjQuMTQtMy0xNyIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMy0xNy5qcyIsDQotDQotICAg
IGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiAnbGVuZ3RoJyBpcyBh
IHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcyIsDQotDQotICAg
IHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgdmFyIG9iaiA9IHsgMTog
dHJ1ZSwgMjogIjAwMDIuMCIsIGxlbmd0aDogIjAwMDIuMCIgfTsNCi0NCi0gICAgICAgIHJldHVy
biBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDEgJiYNCi0gICAg
ICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgIjAwMDIuMCIpID09PSAt
MTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQot
ICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9
DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
CisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
CisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQtMy0xNyIsCisKKyAg
ICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40
LjE0LTMtMTcuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhP
ZiB3aGVuICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBudW1iZXIgd2l0aCBsZWFk
aW5nIHplcm9zIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAg
IHZhciBvYmogPSB7IDE6IHRydWUsIDI6ICIwMDAyLjAiLCBsZW5ndGg6ICIwMDAyLjAiIH07CisK
KyAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9
PT0gMSAmJgorICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosICIw
MDAyLjAiKSA9PT0gLTE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2Yp
OworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtMTcuanMKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE0LTMtMTguanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0zLTE4LmpzCShyZXZpc2lv
biAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE0LTMtMTguanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDEgKzEsNDEgQEAKLS8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0K
LQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTQtMy0x
OCIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQu
NC4xNC8xNS40LjQuMTQtMy0xOC5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyB0aGF0IGNh
bid0IGNvbnZlcnQgdG8gYSBudW1iZXIiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsNCi0NCi0gICAgICAgIHZhciBvYmogPSB7IDA6IHRydWUsIDEwMDogdHJ1ZSwgbGVuZ3Ro
OiAib25lIiB9Ow0KLQ0KLSAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNh
bGwob2JqLCB0cnVlKSA9PT0gLTE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlw
ZS5pbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IK
Ky8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUu
NC40LjE0LTMtMTgiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40
LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTE4LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyB0
aGF0IGNhbid0IGNvbnZlcnQgdG8gYSBudW1iZXIiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7CisKKyAgICAgICAgdmFyIG9iaiA9IHsgMDogdHJ1ZSwgMTAwOiB0cnVlLCBsZW5n
dGg6ICJvbmUiIH07CisKKyAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNh
bGwob2JqLCB0cnVlKSA9PT0gLTE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmlu
ZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtMTguanMKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtMTkuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0zLTE5LmpzCShy
ZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE0LTMtMTkuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTcgKzEsNTcg
QEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyAN
Ci0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0v
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
Lg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQu
MTQtMy0xOSIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40
LzE1LjQuNC4xNC8xNS40LjQuMTQtMy0xOS5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qg
d2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QuIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1
bHQgdmFsdWVPZigpIG1ldGhvZCBmcm9tIE9iamVjdA0KLSAgICAgICAgLy8gdGhhdCBzaW1wbHkg
cmV0dXJucyBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCi0gICAg
ICAgIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0
byBjb252ZXJ0IHRoZSBvYmplY3QNCi0gICAgICAgIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcg
aXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KLSAgICAgICAgLy8gcmVz
dWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCi0NCi0gICAgICAgIHZhciBvYmogPSB7DQotICAg
ICAgICAgICAgMTogdHJ1ZSwNCi0gICAgICAgICAgICAyOiAyLA0KLQ0KLSAgICAgICAgICAgIGxl
bmd0aDogew0KLSAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KLSAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCi0gICAgICAgICAgICAgICAgfQ0KLSAgICAgICAg
ICAgIH0NCi0gICAgICAgIH07DQotDQotICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmlu
ZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmDQotICAgICAgICAgICAgQXJyYXkucHJvdG90
eXBlLmluZGV4T2YuY2FsbChvYmosIDIpID09PSAtMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJy
YXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisg
ICAgaWQ6ICIxNS40LjQuMTQtMy0xOSIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMTkuanMiLAorCisgICAgZGVzY3Jp
cHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIHZhbHVlIG9mICdsZW5ndGgnIGlz
IGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZC4iLAorCisgICAgdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgLy8gb2JqZWN0cyBpbmhlcml0IHRo
ZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QgZnJvbSBPYmplY3QKKyAgICAgICAgLy8gdGhhdCBz
aW1wbHkgcmV0dXJucyBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QK
KyAgICAgICAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRy
aWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdAorICAgICAgICAvLyB0byBhIG51bWJlciBieSBjYWxs
aW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUKKyAgICAgICAgLy8g
cmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4KKworICAgICAgICB2YXIgb2JqID0geworICAg
ICAgICAgICAgMTogdHJ1ZSwKKyAgICAgICAgICAgIDI6IDIsCisKKyAgICAgICAgICAgIGxlbmd0
aDogeworICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAg
ICAgICAgICAgIHJldHVybiAnMic7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQor
ICAgICAgICB9OworCisgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxs
KG9iaiwgdHJ1ZSkgPT09IDEgJiYKKyAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9m
LmNhbGwob2JqLCAyKSA9PT0gLTE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmlu
ZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtMTkuanMKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtMi5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNC0zLTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDEgKzEsNDEgQEAK
LS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0v
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0K
LQ0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQu
MTQtMy0yIiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQv
MTUuNC40LjE0LzE1LjQuNC4xNC0zLTIuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5pbmRleE9mIHJldHVybiAtMSB3aGVuICdsZW5ndGgnIGlzIGEgYm9vbGVhbiAo
dmFsdWUgaXMgdHJ1ZSkiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0g
ICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIGxlbmd0aDogdHJ1ZSB9Ow0KLSAgICAgICAg
cmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAwKSA9PT0gMCAmJg0KLSAg
ICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAxKSA9PT0gLTE7DQot
ICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAg
ICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gICAgfQ0KLQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKKworRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQtMy0yIiwKKworICAgIHBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQt
My0yLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgcmV0
dXJuIC0xIHdoZW4gJ2xlbmd0aCcgaXMgYSBib29sZWFuICh2YWx1ZSBpcyB0cnVlKSIsCisKKyAg
ICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwg
MTogMSwgbGVuZ3RoOiB0cnVlIH07CisgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5k
ZXhPZi5jYWxsKG9iaiwgMCkgPT09IDAgJiYKKyAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5p
bmRleE9mLmNhbGwob2JqLCAxKSA9PT0gLTE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90
eXBlLmluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtMi5qcwpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0yMC5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtMjAu
anMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0yMC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1MSAr
MSw1MSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQot
Ly8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
DQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8N
Ci0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8v
IA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1
LjQuNC4xNC0zLTIwIiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTIwLmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIE9i
amVjdCB3aGljaCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kLiIsDQotDQotICAgIHRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgLy92YWx1ZU9mIG1ldGhvZCB3aWxsIGJl
IGludm9rZWQgZmlyc3QsIHNpbmNlIGhpbnQgaXMgTnVtYmVyDQotICAgICAgICB2YXIgb2JqID0g
ew0KLSAgICAgICAgICAgIDE6IHRydWUsDQotICAgICAgICAgICAgMjogMiwNCi0gICAgICAgICAg
ICBsZW5ndGg6IHsNCi0gICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KLSAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQotICAgICAgICAgICAgICAgIH0NCi0gICAgICAg
ICAgICB9DQotICAgICAgICB9Ow0KLQ0KLSAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5p
bmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMSAmJg0KLSAgICAgICAgICAgIEFycmF5LnByb3Rv
dHlwZS5pbmRleE9mLmNhbGwob2JqLCAyKSA9PT0gLTE7DQotICAgIH0sDQotDQotICAgIHByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFy
cmF5LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKwor
ICAgIGlkOiAiMTUuNC40LjE0LTMtMjAiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTIwLmpzIiwKKworICAgIGRlc2Ny
aXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnbGVuZ3RoJyBp
cyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZC4iLAorCisgICAgdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgLy92YWx1ZU9mIG1ldGhvZCB3aWxs
IGJlIGludm9rZWQgZmlyc3QsIHNpbmNlIGhpbnQgaXMgTnVtYmVyCisgICAgICAgIHZhciBvYmog
PSB7CisgICAgICAgICAgICAxOiB0cnVlLAorICAgICAgICAgICAgMjogMiwKKyAgICAgICAgICAg
IGxlbmd0aDogeworICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsKKyAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIDI7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fQorICAgICAgICB9OworCisgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5j
YWxsKG9iaiwgdHJ1ZSkgPT09IDEgJiYKKyAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRl
eE9mLmNhbGwob2JqLCAyKSA9PT0gLTE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
LmluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtMjAuanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtMjEuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0zLTIxLmpz
CShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtMjEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTcgKzEs
NTcgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8v
LyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0K
LS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQot
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyAN
Ci0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40
LjQuMTQtMy0yMSIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUu
NC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMy0yMS5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAi
QXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3QgdGhhdCBo
YXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHRvU3Ry
aW5nIG1ldGhvZCB0aGF0IHJldHVybnMgYSBzdHJpbmciLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7
DQotICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQotDQotICAgICAgICB2YXIg
b2JqID0gew0KLSAgICAgICAgICAgIDE6IHRydWUsDQotICAgICAgICAgICAgbGVuZ3RoOiB7DQot
ICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQotICAgICAgICAgICAgICAg
ICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCi0gICAgICAgICAgICAgICAgICAgIHJldHVy
biAnMic7DQotICAgICAgICAgICAgICAgIH0sDQotDQotICAgICAgICAgICAgICAgIHZhbHVlT2Y6
IGZ1bmN0aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRy
dWU7DQotICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQotICAgICAgICAgICAgICAgIH0N
Ci0gICAgICAgICAgICB9DQotICAgICAgICB9Ow0KLQ0KLSAgICAgICAgcmV0dXJuIEFycmF5LnBy
b3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMSAmJiB0b1N0cmluZ0FjY2Vzc2Vk
ICYmIHZhbHVlT2ZBY2Nlc3NlZDsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
LmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40
LjQuMTQtMy0yMSIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQu
NC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMjEuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJh
eS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuICdsZW5ndGgnIGlzIGFuIG9iamVjdCB0aGF0IGhhcyBh
biBvd24gdmFsdWVPZiBtZXRob2QgdGhhdCByZXR1cm5zIGFuIG9iamVjdCBhbmQgdG9TdHJpbmcg
bWV0aG9kIHRoYXQgcmV0dXJucyBhIHN0cmluZyIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsKKworICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOworICAgICAg
ICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7CisKKyAgICAgICAgdmFyIG9iaiA9IHsKKyAg
ICAgICAgICAgIDE6IHRydWUsCisgICAgICAgICAgICBsZW5ndGg6IHsKKyAgICAgICAgICAgICAg
ICB0b1N0cmluZzogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0Fj
Y2Vzc2VkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsKKyAgICAgICAg
ICAgICAgICB9LAorCisgICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgeworICAg
ICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOworICAgICAgICAgICAgICAg
ICAgICByZXR1cm4ge307CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAg
ICB9OworCisgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwg
dHJ1ZSkgPT09IDEgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7CisgICAg
fSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE0LTMtMjEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQoj
IyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMt
MjIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNC0zLTIyLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtMjIuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNjEgKzEsNjEgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTQtMy0yMiIsDQotDQotICAgIHBhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMy0yMi5q
cyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgdGhyb3dz
IFR5cGVFcnJvciBleGNlcHRpb24gd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2l0aCB0b1N0
cmluZyBhbmQgdmFsdWVPZiBtZXRob2RzIHRoYXQgZG9uknQgcmV0dXJuIHByaW1pdGl2ZSB2YWx1
ZXMiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZh
ciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQotICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2Vk
ID0gZmFsc2U7DQotDQotICAgICAgICB2YXIgb2JqID0gew0KLSAgICAgICAgICAgIGxlbmd0aDog
ew0KLSAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KLSAgICAgICAgICAg
ICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQotICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4ge307DQotICAgICAgICAgICAgICAgIH0sDQotDQotICAgICAgICAgICAgICAgIHZhbHVl
T2Y6IGZ1bmN0aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9
IHRydWU7DQotICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQotICAgICAgICAgICAgICAg
IH0NCi0gICAgICAgICAgICB9DQotICAgICAgICB9Ow0KLQ0KLSAgICAgICAgdHJ5IHsNCi0gICAg
ICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaik7DQotICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOw0KLSAgICAgICAgfSBjYXRjaCAoZSkgew0KLSAgICAgICAgICAgIHJldHVy
biB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsNCi0gICAgICAgIH0NCi0gICAg
fSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICBy
ZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7
DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisv
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQtMy0yMiIsCisKKyAgICBwYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMjIu
anMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB0aHJvd3Mg
VHlwZUVycm9yIGV4Y2VwdGlvbiB3aGVuICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIHRvU3Ry
aW5nIGFuZCB2YWx1ZU9mIG1ldGhvZHMgdGhhdCBkb26SdCByZXR1cm4gcHJpbWl0aXZlIHZhbHVl
cyIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIgdG9T
dHJpbmdBY2Nlc3NlZCA9IGZhbHNlOworICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFs
c2U7CisKKyAgICAgICAgdmFyIG9iaiA9IHsKKyAgICAgICAgICAgIGxlbmd0aDogeworICAgICAg
ICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgICAgIHRv
U3RyaW5nQWNjZXNzZWQgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307Cisg
ICAgICAgICAgICAgICAgfSwKKworICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgp
IHsKKyAgICAgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIHt9OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0K
KyAgICAgICAgfTsKKworICAgICAgICB0cnkgeworICAgICAgICAgICAgQXJyYXkucHJvdG90eXBl
LmluZGV4T2YuY2FsbChvYmopOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9
IGNhdGNoIChlKSB7CisgICAgICAgICAgICByZXR1cm4gdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1
ZU9mQWNjZXNzZWQ7CisgICAgICAgIH0KKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUu
aW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0yMi5qcwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0yMy5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtMjMuanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0yMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw2MyArMSw2
MyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8v
IA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQot
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0v
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0K
LS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQu
NC4xNC0zLTIzIiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40
LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTIzLmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJB
cnJheS5wcm90b3R5cGUuaW5kZXhPZiB1c2VzIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZCB3aGVu
ICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIGFuIG93biB0b1N0cmluZyBhbmQgaW5oZXJpdGVk
IHZhbHVlT2YgbWV0aG9kcyIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LQ0KLSAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCi0gICAgICAgIHZhciB2
YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCi0NCi0gICAgICAgIHZhciBwcm90byA9IHsNCi0gICAg
ICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQotICAgICAgICAgICAgICAgIHZhbHVlT2ZB
Y2Nlc3NlZCA9IHRydWU7DQotICAgICAgICAgICAgICAgIHJldHVybiAyOw0KLSAgICAgICAgICAg
IH0NCi0gICAgICAgIH07DQotDQotICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQot
ICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQotDQotICAgICAgICB2YXIgY2hpbGQgPSBu
ZXcgQ29uKCk7DQotICAgICAgICBjaGlsZC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsNCi0gICAg
ICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCi0gICAgICAgICAgICByZXR1cm4gMjsN
Ci0gICAgICAgIH07DQotDQotICAgICAgICB2YXIgb2JqID0gew0KLSAgICAgICAgICAgIDE6IHRy
dWUsDQotICAgICAgICAgICAgbGVuZ3RoOiBjaGlsZA0KLSAgICAgICAgfTsNCi0NCi0gICAgICAg
IHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDEgJiYg
dmFsdWVPZkFjY2Vzc2VkICYmICF0b1N0cmluZ0FjY2Vzc2VkOw0KLSAgICB9LA0KLQ0KLSAgICBw
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0
cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7
CisKKyAgICBpZDogIjE1LjQuNC4xNC0zLTIzIiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMy0yMy5qcyIsCisKKyAgICBk
ZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHVzZXMgaW5oZXJpdGVkIHZhbHVl
T2YgbWV0aG9kIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggYW4gb3duIHRvU3RyaW5n
IGFuZCBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2RzIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeworCisgICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7CisgICAg
ICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsKKworICAgICAgICB2YXIgcHJvdG8gPSB7
CisgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgdmFs
dWVPZkFjY2Vzc2VkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICByZXR1cm4gMjsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfTsKKworICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307Cisg
ICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsKKworICAgICAgICB2YXIgY2hpbGQgPSBuZXcg
Q29uKCk7CisgICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgeworICAgICAgICAg
ICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7CisgICAgICAgICAgICByZXR1cm4gMjsKKyAgICAg
ICAgfTsKKworICAgICAgICB2YXIgb2JqID0geworICAgICAgICAgICAgMTogdHJ1ZSwKKyAgICAg
ICAgICAgIGxlbmd0aDogY2hpbGQKKyAgICAgICAgfTsKKworICAgICAgICByZXR1cm4gQXJyYXku
cHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmIHZhbHVlT2ZBY2Nlc3Nl
ZCAmJiAhdG9TdHJpbmdBY2Nlc3NlZDsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUu
aW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0yMy5qcwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0yNC5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtMjQuanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0yNC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0
MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8v
IA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQot
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0v
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0K
LS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQu
NC4xNC0zLTI0IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40
LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTI0LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJB
cnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgcG9zaXRp
dmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRp
cmVjdGlvbiIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAg
ICAgdmFyIG9iaiA9IHsgMTIyOiB0cnVlLCAxMjM6IGZhbHNlLCBsZW5ndGg6IDEyMy4zMjEgfTsg
Ly9sZW5ndGggd2lsbCBiZSAxMjMgZmluYWxseQ0KLQ0KLSAgICAgICAgcmV0dXJuIEFycmF5LnBy
b3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTIyICYmDQotICAgICAgICBBcnJh
eS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgZmFsc2UpID09PSAtMTsNCi0gICAgfSwNCi0N
Ci0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4g
Zm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
Ky8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQtMy0yNCIsCisKKyAgICBwYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMjQuanMiLAor
CisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIHZhbHVlIG9m
ICdsZW5ndGgnIGlzIGEgcG9zaXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9j
Y3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbiIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsKKworICAgICAgICB2YXIgb2JqID0geyAxMjI6IHRydWUsIDEyMzogZmFsc2UsIGxl
bmd0aDogMTIzLjMyMSB9OyAvL2xlbmd0aCB3aWxsIGJlIDEyMyBmaW5hbGx5CisKKyAgICAgICAg
cmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTIyICYm
CisgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCBmYWxzZSkgPT09IC0x
OworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAg
ICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsKKyAgICB9CisKK30p
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNC0zLTI0LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNC0zLTI1LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0yNS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0z
LTI1LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0K
LS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
Uw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTMtMjUiLA0KLQ0KLSAgICBw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0
LTMtMjUuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9m
IHdoZW4gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBuZWdhdGl2ZSBub24taW50ZWdlciwgZW5zdXJl
IHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uIiwNCi0NCi0gICAgdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgb2JqID0geyAxOiB0cnVl
LCAyOiBmYWxzZSwgbGVuZ3RoOiAtNDI5NDk2NzI5NC41IH07IC8vbGVuZ3RoIHdpbGwgYmUgMiBm
aW5hbGx5DQotDQotICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChv
YmosIHRydWUpID09PSAxICYmDQotICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxs
KG9iaiwgZmFsc2UpID09PSAtMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
LmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40
LjQuMTQtMy0yNSIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQu
NC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMjUuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJh
eS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbmVnYXRpdmUg
bm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVj
dGlvbiIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIg
b2JqID0geyAxOiB0cnVlLCAyOiBmYWxzZSwgbGVuZ3RoOiAtNDI5NDk2NzI5NC41IH07IC8vbGVu
Z3RoIHdpbGwgYmUgMiBmaW5hbGx5CisKKyAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5p
bmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMSAmJgorICAgICAgICBBcnJheS5wcm90b3R5cGUu
aW5kZXhPZi5jYWxsKG9iaiwgZmFsc2UpID09PSAtMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5w
cm90b3R5cGUuaW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0y
NS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0yOC5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0
LTMtMjguanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0yOC5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSw0NiArMSw0NiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBp
ZDogIjE1LjQuNC4xNC0zLTI4IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTI4LmpzIiwNCi0NCi0gICAgZGVzY3Jp
cHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIHZhbHVlIG9mICdsZW5ndGgnIGlz
IGJvdW5kYXJ5IHZhbHVlICgyXjMyKSIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgew0KLSAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KLSAgICAgICAgdmFyIG9iaiA9IHsN
Ci0gICAgICAgICAgICAwOiB0YXJnZXRPYmosDQotICAgICAgICAgICAgNDI5NDk2NzI5NDogdGFy
Z2V0T2JqLA0KLSAgICAgICAgICAgIDQyOTQ5NjcyOTU6IHRhcmdldE9iaiwNCi0gICAgICAgICAg
ICBsZW5ndGg6IDQyOTQ5NjcyOTYNCi0gICAgICAgIH07DQotDQotICAgICAgICByZXR1cm4gQXJy
YXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IC0xOw0KLSAgICB9
LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJl
dHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsN
CisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNC0zLTI4IiwKKworICAgIHBhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMy0yOC5q
cyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gdmFs
dWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIpIiwKKworICAgIHRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgeworICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307CisgICAgICAg
IHZhciBvYmogPSB7CisgICAgICAgICAgICAwOiB0YXJnZXRPYmosCisgICAgICAgICAgICA0Mjk0
OTY3Mjk0OiB0YXJnZXRPYmosCisgICAgICAgICAgICA0Mjk0OTY3Mjk1OiB0YXJnZXRPYmosCisg
ICAgICAgICAgICBsZW5ndGg6IDQyOTQ5NjcyOTYKKyAgICAgICAgfTsKKworICAgICAgICByZXR1
cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IC0xOwor
ICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAg
cmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsKKyAgICB9CisKK30pOwoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNC0zLTI4LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NC0zLTI5LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0yOS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0zLTI5
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ2ICsxLDQ2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTMtMjkiLA0KLQ0KLSAgICBwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMt
MjkuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdo
ZW4gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIgKyAxKSIsDQotDQot
ICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgICAgICAgdmFyIHRhcmdldE9iaiA9
IHt9Ow0KLSAgICAgICAgdmFyIG9iaiA9IHsNCi0gICAgICAgICAgICAwOiB0YXJnZXRPYmosDQot
ICAgICAgICAgICAgMTogNDI5NDk2NzI5NywNCi0gICAgICAgICAgICBsZW5ndGg6IDQyOTQ5Njcy
OTcNCi0gICAgICAgIH07DQotDQotICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4
T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IDAgJiYNCi0gICAgICAgICAgICBBcnJheS5wcm90
b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgNDI5NDk2NzI5NykgPT09IC0xOw0KLSAgICB9LA0KLQ0K
LSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNC0zLTI5IiwKKworICAgIHBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMy0yOS5qcyIsCisK
KyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gdmFsdWUgb2Yg
J2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIgKyAxKSIsCisKKyAgICB0ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsKKyAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9OworICAgICAgICB2
YXIgb2JqID0geworICAgICAgICAgICAgMDogdGFyZ2V0T2JqLAorICAgICAgICAgICAgMTogNDI5
NDk2NzI5NywKKyAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5NworICAgICAgICB9OworCisg
ICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2Jq
KSA9PT0gMCAmJgorICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmos
IDQyOTQ5NjcyOTcpID09PSAtMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5k
ZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0yOS5qcwpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0zLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy0zLmpzCShyZXZp
c2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE0LTMtMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MSArMSw0MSBAQAot
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNC0z
LTMiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40
LjQuMTQvMTUuNC40LjE0LTMtMy5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUg
aXMgMCkiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAg
IHZhciBvYmogPSB7IDA6IHRydWUsIGxlbmd0aDogMCB9Ow0KLQ0KLSAgICAgICAgcmV0dXJuIEFy
cmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gLTE7DQotICAgIH0sDQot
DQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJu
IGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE0LTMtMyIsCisKKyAgICBwYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMy5qcyIsCisK
KyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gdmFsdWUgb2Yg
J2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIDApIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworCisgICAgICAgIHZhciBvYmogPSB7IDA6IHRydWUsIGxlbmd0aDogMCB9
OworCisgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1
ZSkgPT09IC0xOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsKKyAg
ICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0zLTMuanMKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE0LTMtNC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtNC5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNC0zLTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDEgKzEsNDEgQEAKLS8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0K
LS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTQtMy00IiwNCi0NCi0g
ICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQu
NC4xNC0zLTQuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRl
eE9mIHdoZW4gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzICswKSIsDQot
DQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgdmFyIG9iaiA9
IHsgMDogdHJ1ZSwgbGVuZ3RoOiArMCB9Ow0KLQ0KLSAgICAgICAgcmV0dXJuIEFycmF5LnByb3Rv
dHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gLTE7DQotICAgIH0sDQotDQotICAgIHBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3Rz
KEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsK
KworICAgIGlkOiAiMTUuNC40LjE0LTMtNCIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtNC5qcyIsCisKKyAgICBkZXNj
cmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2xlbmd0aCcg
aXMgYSBudW1iZXIgKHZhbHVlIGlzICswKSIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKworICAgICAgICB2YXIgb2JqID0geyAwOiB0cnVlLCBsZW5ndGg6ICswIH07CisKKyAg
ICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0g
LTE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAg
ICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworICAgIH0KKwor
fSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMtNC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTQtMy01LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy01LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMt
NS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MSArMSw0MSBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNC0zLTUiLA0KLQ0KLSAgICBwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMt
NS5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hl
biB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLTApIiwNCi0NCi0gICAg
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgb2JqID0geyAwOiB0
cnVlLCBsZW5ndGg6IC0wIH07DQotDQotICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmlu
ZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAtMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAg
aWQ6ICIxNS40LjQuMTQtMy01IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMy01LmpzIiwKKworICAgIGRlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51
bWJlciAodmFsdWUgaXMgLTApIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewor
CisgICAgICAgIHZhciBvYmogPSB7IDA6IHRydWUsIGxlbmd0aDogLTAgfTsKKworICAgICAgICBy
ZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAtMTsKKyAg
ICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJl
dHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7CisgICAgfQorCit9KTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTQtMy01LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0z
LTYuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNC0zLTYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy02LmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
DQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTMtNiIsDQotDQotICAgIHBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMy02LmpzIiwN
Ci0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIHZhbHVl
IG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBwb3NpdGl2ZSkiLA0KLQ0KLSAgICB0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciBvYmogPSB7IDM6IHRy
dWUsIDQ6IGZhbHNlLCBsZW5ndGg6IDQgfTsNCi0NCi0gICAgICAgIHJldHVybiBBcnJheS5wcm90
b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDMgJiYNCi0gICAgICAgICAgICBBcnJh
eS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgZmFsc2UpID09PSAtMTsNCi0gICAgfSwNCi0N
Ci0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4g
Zm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
Ky8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQtMy02IiwKKworICAgIHBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMy02LmpzIiwKKwor
ICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAn
bGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgcG9zaXRpdmUpIiwKKworICAgIHRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHZhciBvYmogPSB7IDM6IHRydWUsIDQ6IGZh
bHNlLCBsZW5ndGg6IDQgfTsKKworICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4
T2YuY2FsbChvYmosIHRydWUpID09PSAzICYmCisgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUu
aW5kZXhPZi5jYWxsKG9iaiwgZmFsc2UpID09PSAtMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5w
cm90b3R5cGUuaW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy02
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0zLTcuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0z
LTcuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy03LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQy
ICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAN
Ci0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0v
Ly8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAi
MTUuNC40LjE0LTMtNyIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMy03LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVt
YmVyICh2YWx1ZSBpcyBuZWdhdGl2ZSkiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsNCi0NCi0gICAgICAgIHZhciBvYmogPSB7IDQ6IHRydWUsIDU6IGZhbHNlLCBsZW5ndGg6
IDUgLSBNYXRoLnBvdygyLCAzMikgfTsNCi0NCi0gICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5
cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDQgJiYNCi0gICAgICAgICAgICBBcnJheS5w
cm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgZmFsc2UpID09PSAtMTsNCi0gICAgfSwNCi0NCi0g
ICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5F
eGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQtMy03IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMy03LmpzIiwKKworICAg
IGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnbGVu
Z3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgbmVnYXRpdmUpIiwKKworICAgIHRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHZhciBvYmogPSB7IDQ6IHRydWUsIDU6IGZhbHNl
LCBsZW5ndGg6IDUgLSBNYXRoLnBvdygyLCAzMikgfTsKKworICAgICAgICByZXR1cm4gQXJyYXku
cHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSA0ICYmCisgICAgICAgICAgICBB
cnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgZmFsc2UpID09PSAtMTsKKyAgICB9LAor
CisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTQtMy03LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0zLTguanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNC0zLTguanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtMy04LmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDQxICsxLDQxIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
Ci0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7
DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTMtOCIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMy04LmpzIiwNCi0NCi0g
ICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIHZhbHVlIG9mICds
ZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBJbmZpbml0eSkiLA0KLQ0KLSAgICB0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciBvYmogPSB7IDA6IDAsIGxlbmd0
aDogSW5maW5pdHkgfTsNCi0NCi0gICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhP
Zi5jYWxsKG9iaiwgMCkgPT09IC0xOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUuaW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1
LjQuNC4xNC0zLTgiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40
LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTguanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJh
eS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2
YWx1ZSBpcyBJbmZpbml0eSkiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisK
KyAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgbGVuZ3RoOiBJbmZpbml0eSB9OworCisgICAgICAg
IHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMCkgPT09IC0xOworICAg
IH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0
dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNC0zLTguanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQoj
IyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTMt
OS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE0LTMtOS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0zLTkuanMJKHdv
cmtpbmcgY29weSkKQEAgLTEsNDEgKzEsNDEgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QN
Ci0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTQtMy05IiwNCi0NCi0gICAgcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTkuanMiLA0K
LQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gdmFsdWUg
b2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZpbml0eSkiLA0KLQ0KLSAgICB0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciBvYmogPSB7IDA6IDAs
IGxlbmd0aDogLUluZmluaXR5IH07DQotDQotICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBl
LmluZGV4T2YuY2FsbChvYmosIDApID09PSAtMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAg
aWQ6ICIxNS40LjQuMTQtMy05IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtMy05LmpzIiwKKworICAgIGRlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51
bWJlciAodmFsdWUgaXMgLUluZmluaXR5KSIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKworICAgICAgICB2YXIgb2JqID0geyAwOiAwLCBsZW5ndGg6IC1JbmZpbml0eSB9Owor
CisgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMCkgPT09
IC0xOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAg
ICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsKKyAgICB9CisK
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC0zLTkuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE0LTQtMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTQtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC00
LTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzkgKzEsMzkgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE0LTQtMSIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTEuanMiLA0K
LQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgcmV0dXJucyAtMSBpZiAn
bGVuZ3RoJyBpcyAwIChlbXB0eSBhcnJheSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgew0KLSAgdmFyIGkgPSBbXS5pbmRleE9mKDQyKTsNCi0gIGlmIChpID09PSAtMSkgew0KLSAg
ICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQot
IH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAK
Ky8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
CisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYK
Ky8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE0LTQtMSIsCisKK3BhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtNC0xLmpz
IiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlm
ICdsZW5ndGgnIGlzIDAgKGVtcHR5IGFycmF5KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgeworICB2YXIgaSA9IFtdLmluZGV4T2YoNDIpOworICBpZiAoaSA9PT0gLTEpIHsKKyAgICBy
ZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
eworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworIH0KK30pOwoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNC00LTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHls
ZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0
LTQtMTAuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNC00LTEwLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTQtMTAu
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDAgKzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQot
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTQtNC0xMCIsDQotDQotICAgIHBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtNC0x
MC5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hl
biAnbGVuZ3RoJyBpcyBhIG51bWJlciBvZiB2YWx1ZSAtNmUtMSIsDQotDQotICAgIHRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgICAgICAgdmFyIHRhcmdldE9iaiA9IFtdOw0KLSAgICAg
ICAgdmFyIG9iaiA9IHsgMDogdGFyZ2V0T2JqLCAxMDA6IHRhcmdldE9iaiwgbGVuZ3RoOiAtNmUt
MSB9Ow0KLSAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0
YXJnZXRPYmopID09PSAtMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmlu
ZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQu
MTQtNC0xMCIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMTQvMTUuNC40LjE0LTQtMTAuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUuaW5kZXhPZiB3aGVuICdsZW5ndGgnIGlzIGEgbnVtYmVyIG9mIHZhbHVlIC02ZS0x
IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgICAgICB2YXIgdGFyZ2V0
T2JqID0gW107CisgICAgICAgIHZhciBvYmogPSB7IDA6IHRhcmdldE9iaiwgMTAwOiB0YXJnZXRP
YmosIGxlbmd0aDogLTZlLTEgfTsKKyAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRl
eE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAtMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5w
cm90b3R5cGUuaW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNC0x
MC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNC0xMS5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0
LTQtMTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNC0xMS5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSw0MCArMSw0MCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBp
ZDogIjE1LjQuNC4xNC00LTExIiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTExLmpzIiwNCi0NCi0gICAgZGVzY3Jp
cHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuICdsZW5ndGgnIGlzIGFuIGVtcHR5
IHN0cmluZyIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgICAgICAg
dmFyIHRhcmdldE9iaiA9IFtdOw0KLSAgICAgICAgdmFyIG9iaiA9IHsgMDogdGFyZ2V0T2JqLCAx
MDA6IHRhcmdldE9iaiwgbGVuZ3RoOiAiIiB9Ow0KLSAgICAgICAgcmV0dXJuIEFycmF5LnByb3Rv
dHlwZS5pbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAtMTsNCi0gICAgfSwNCi0NCi0g
ICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5F
eGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQtNC0xMSIsCisKKyAgICBwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTQtMTEuanMiLAorCisg
ICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuICdsZW5ndGgnIGlz
IGFuIGVtcHR5IHN0cmluZyIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAg
ICAgICAgdmFyIHRhcmdldE9iaiA9IFtdOworICAgICAgICB2YXIgb2JqID0geyAwOiB0YXJnZXRP
YmosIDEwMDogdGFyZ2V0T2JqLCBsZW5ndGg6ICIiIH07CisgICAgICAgIHJldHVybiBBcnJheS5w
cm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gLTE7CisgICAgfSwKKwor
ICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5F
eGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE0LTQtMTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTQtMTIuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNC00LTEyLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTQtMTIuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDAgKzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTQtNC0xMiIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtNC0xMi5qcyIsDQot
DQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiAnbGVuZ3Ro
JyBpcyBhbiBlbXB0eSBzdHJpbmciLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsNCi0gICAgICAgIHZhciB0YXJnZXRPYmogPSBbXTsNCi0gICAgICAgIHZhciBvYmogPSB7IDA6
IHRhcmdldE9iaiwgMTAwOiB0YXJnZXRPYmosIGxlbmd0aDogIiIgfTsNCi0gICAgICAgIHJldHVy
biBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gLTE7DQot
ICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAg
ICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gICAgfQ0KLQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE0LTQtMTIiLAorCisgICAgcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00
LTEyLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hl
biAnbGVuZ3RoJyBpcyBhbiBlbXB0eSBzdHJpbmciLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7CisgICAgICAgIHZhciB0YXJnZXRPYmogPSBbXTsKKyAgICAgICAgdmFyIG9iaiA9
IHsgMDogdGFyZ2V0T2JqLCAxMDA6IHRhcmdldE9iaiwgbGVuZ3RoOiAiIiB9OworICAgICAgICBy
ZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IC0x
OworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAg
ICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsKKyAgICB9CisKK30p
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNC00LTEyLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNC00LTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC00LTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNC0y
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNC00LTIiLA0KLQ0KLXBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtNC0yLmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgLTEgaWYg
J2xlbmd0aCcgaXMgMCAoIGxlbmd0aCBvdmVycmlkZGVuIHRvIG51bGwgKHR5cGUgY29udmVyc2lv
bikpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIA0KLSAgdmFyIGkgPSBB
cnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHtsZW5ndGg6IG51bGx9LCAxKTsNCi0gIA0KLSAg
aWYgKGkgPT09IC0xKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnBy
b3RvdHlwZS5sYXN0SW5kZXhPZik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MK
Ky8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIx
NS40LjQuMTQtNC0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQv
MTUuNC40LjE0LzE1LjQuNC4xNC00LTIuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3Rv
dHlwZS5pbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAoIGxlbmd0aCBvdmVycmlk
ZGVuIHRvIG51bGwgKHR5cGUgY29udmVyc2lvbikpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7CisgIAorICB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoe2xlbmd0
aDogbnVsbH0sIDEpOworICAKKyAgaWYgKGkgPT09IC0xKSB7CisgICAgcmV0dXJuIHRydWU7Cisg
IH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZu
RXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CisgfQorfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE0LTQtMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAg
KzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNC0zLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTQtNC0zLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTQtMy5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
DQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQot
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7DQotaWQ6ICIxNS40LjQuMTQtNC0zIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTQtMy5qcyIsDQotDQotZGVzY3JpcHRp
b246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAg
KGxlbmd0aCBvdmVycmlkZGVuIHRvIGZhbHNlICh0eXBlIGNvbnZlcnNpb24pKSIsDQotDQotdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICANCi0gdmFyIGkgPSBBcnJheS5wcm90b3R5cGUu
aW5kZXhPZi5jYWxsKHtsZW5ndGg6IGZhbHNlfSwgMSk7DQotICANCi0gIGlmIChpID09PSAtMSkg
ew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdElu
ZGV4T2YpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisv
Ly8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE0LTQtMyIs
CisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40
LjQuMTQtNC0zLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBy
ZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKGxlbmd0aCBvdmVycmlkZGVuIHRvIGZhbHNlICh0
eXBlIGNvbnZlcnNpb24pKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAKKyB2
YXIgaSA9IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoe2xlbmd0aDogZmFsc2V9LCAxKTsK
KyAgCisgIGlmIChpID09PSAtMSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5w
cm90b3R5cGUubGFzdEluZGV4T2YpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC00LTMu
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTQtNC5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTQt
NC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC00LTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIg
KzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiANCi0NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUu
NC40LjE0LTQtNCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQv
MTUuNC40LjE0LzE1LjQuNC4xNC00LTQuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIChnZW5lcmljICdhcnJh
eScgd2l0aCBsZW5ndGggMCApIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0g
IA0KLSB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHtsZW5ndGg6IDB9
LCAxKTsNCi0gIA0KLSAgaWYgKGkgPT09IC0xKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0K
LSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZu
RXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotIH0NCi19KTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggeworaWQ6ICIxNS40LjQuMTQtNC00IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTQuanMiLAorCitkZXNjcmlwdGlv
bjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAo
Z2VuZXJpYyAnYXJyYXknIHdpdGggbGVuZ3RoIDAgKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgeworICAKKyB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHts
ZW5ndGg6IDB9LCAxKTsKKyAgCisgIGlmIChpID09PSAtMSkgeworICAgIHJldHVybiB0cnVlOwor
ICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOworIH0KK30pOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNC00LTQuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTQtNS5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE0LTQtNS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC00LTUuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
Uw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0K
LS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggew0KLWlkOiAiMTUuNC40LjE0LTQtNSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTUuanMiLA0KLQ0KLWRlc2NyaXB0
aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAw
ICggbGVuZ3RoIG92ZXJyaWRkZW4gdG8gJzAnICh0eXBlIGNvbnZlcnNpb24pKSIsDQotDQotdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICANCi0gdmFyIGkgPSBBcnJheS5wcm90b3R5cGUu
aW5kZXhPZi5jYWxsKHtsZW5ndGg6ICcwJ30sIDEpOw0KLSAgDQotICBpZiAoaSA9PT0gLTEpIHsN
Ci0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRl
eE9mKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8v
IAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xNC00LTUiLAor
CitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40
LjE0LTQtNS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgcmV0
dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwICggbGVuZ3RoIG92ZXJyaWRkZW4gdG8gJzAnICh0eXBl
IGNvbnZlcnNpb24pKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAKKyB2YXIg
aSA9IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoe2xlbmd0aDogJzAnfSwgMSk7CisgIAor
ICBpZiAoaSA9PT0gLTEpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90
eXBlLmxhc3RJbmRleE9mKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNC01LmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC00LTYuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC00LTYuanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTQtNC02LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQy
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4x
NC00LTYiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQu
NC4xNC8xNS40LjQuMTQtNC02LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlw
ZS5pbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwg
bGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogd2l0aCB2YWx1ZU9mKSIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotICANCi0gdmFyIGkgPSBBcnJheS5wcm90b3R5cGUuaW5kZXhP
Zi5jYWxsKHtsZW5ndGg6IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gMDt9fX0sIDEp
Ow0KLSAgDQotICBpZiAoaSA9PT0gLTEpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0s
DQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7CitpZDogIjE1LjQuNC4xNC00LTYiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTQtNi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAi
QXJyYXkucHJvdG90eXBlLmluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJj
bGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3aXRoIHZhbHVlT2YpIiwK
KwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIAorIHZhciBpID0gQXJyYXkucHJvdG90
eXBlLmluZGV4T2YuY2FsbCh7bGVuZ3RoOiB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJu
IDA7fX19LCAxKTsKKyAgCisgIGlmIChpID09PSAtMSkgeworICAgIHJldHVybiB0cnVlOworICB9
CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4
aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOworIH0KK30pOwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNC00LTYuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsx
ICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTQtNy5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE0LTQtNy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC00LTcuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNDggKzEsNDggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
ew0KLWlkOiAiMTUuNC40LjE0LTQtNyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTcuanMiLA0KLQ0KLWRlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwICgg
bGVuZ3RoIGlzIG9iamVjdCBvdmVycmlkZGVuIHdpdGggb2JqIHcvbyB2YWx1ZU9mICh0b1N0cmlu
ZykpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gIA0KLSAgLy8gb2Jq
ZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2Jq
ZWN0Ow0KLSAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVm
YXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQotICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUg
dmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQotICAvLyB0byBhIG51
bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUN
Ci0gIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQotIHZhciBpID0gQXJyYXkucHJv
dG90eXBlLmluZGV4T2YuY2FsbCh7bGVuZ3RoOiB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJl
dHVybiAnMCc7fX19LCAxKTsNCi0gIA0KLSAgaWYgKGkgPT09IC0xKSB7DQotICAgIHJldHVybiB0
cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0K
LSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotIH0NCi19
KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAK
Ky8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworCitFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTQtNC03IiwKKworcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTcuanMiLAor
CitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgLTEgaWYgJ2xl
bmd0aCcgaXMgMCAoIGxlbmd0aCBpcyBvYmplY3Qgb3ZlcnJpZGRlbiB3aXRoIG9iaiB3L28gdmFs
dWVPZiAodG9TdHJpbmcpKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgIAor
ICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9i
amVjdCBvYmplY3Q7CisgIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2Ug
dGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZAorICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmlt
aXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0CisgIC8vIHRv
IGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5n
IHRoZQorICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLgorIHZhciBpID0gQXJyYXku
cHJvdG90eXBlLmluZGV4T2YuY2FsbCh7bGVuZ3RoOiB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7
IHJldHVybiAnMCc7fX19LCAxKTsKKyAgCisgIGlmIChpID09PSAtMSkgeworICAgIHJldHVybiB0
cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJl
dHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOworIH0KK30pOwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNC00LTcuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQoj
IyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTQt
OC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE0LTQtOC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC00LTguanMJKHdv
cmtpbmcgY29weSkKQEAgLTEsNTYgKzEsNTYgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QN
Ci0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE0LTQtOCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTguanMiLA0KLQ0KLWRl
c2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3Ro
JyBpcyAwIChsZW5ndGggaXMgYW4gZW1wdHkgYXJyYXkpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsNCi0NCi0gIA0KLSAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZh
bHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KLSAgLy8gdGhhdCBzaW1wbHkgcmV0
dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQotICAv
LyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29u
dmVydCB0aGUgb2JqZWN0DQotICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmlu
ZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCi0gIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8g
YSBudW1iZXIuDQotICAvLw0KLSAgLy8gVGhlIHRvU3RyaW5nKCApIG1ldGhvZCBvbiBBcnJheSBj
b252ZXJ0cyB0aGUgYXJyYXkgZWxlbWVudHMgdG8gc3RyaW5ncywNCi0gIC8vIHRoZW4gcmV0dXJu
cyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMg
aW4NCi0gIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8g
dGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCi0gIC8vIGNvbnZlcnRzIHRvIHRoZSBudW1iZXIgMC4g
SWYgYW4gYXJyYXkgaGFzIGEgc2luZ2xlIGVsZW1lbnQgdGhhdCBpcyBhDQotICAvLyBudW1iZXIg
biwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4sIHdo
aWNoIGlzDQotICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJh
eSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQotICAvLyBvciBpZiBpdHMgb25lIGVs
ZW1lbnQgaXMgbm90IGEgbnVtYmVyLCB0aGUgYXJyYXkgY29udmVydHMgdG8gTmFOLg0KLSB2YXIg
aSA9IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoe2xlbmd0aDogWyBdfSwgMSk7DQotICAN
Ci0gIGlmIChpID09PSAtMSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1w
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJh
eS5wcm90b3R5cGUubGFzdEluZGV4T2YpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTUuNC40LjE0LTQtOCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUu
NC40LzE1LjQuNC4xNC8xNS40LjQuMTQtNC04LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKGxlbmd0aCBpcyBh
biBlbXB0eSBhcnJheSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAKKyAg
Ly8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmpl
Y3Qgb2JqZWN0OworICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRo
ZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QKKyAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0
aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdAorICAvLyB0byBh
IG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0
aGUKKyAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4KKyAgLy8KKyAgLy8gVGhlIHRv
U3RyaW5nKCApIG1ldGhvZCBvbiBBcnJheSBjb252ZXJ0cyB0aGUgYXJyYXkgZWxlbWVudHMgdG8g
c3RyaW5ncywKKyAgLy8gdGhlbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY29uY2F0ZW5hdGluZyB0
aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbgorICAvLyBiZXR3ZWVuLiBBbiBhcnJheSB3aXRo
IG5vIGVsZW1lbnRzIGNvbnZlcnRzIHRvIHRoZSBlbXB0eSBzdHJpbmcsIHdoaWNoCisgIC8vIGNv
bnZlcnRzIHRvIHRoZSBudW1iZXIgMC4gSWYgYW4gYXJyYXkgaGFzIGEgc2luZ2xlIGVsZW1lbnQg
dGhhdCBpcyBhCisgIC8vIG51bWJlciBuLCB0aGUgYXJyYXkgY29udmVydHMgdG8gYSBzdHJpbmcg
cmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2ggaXMKKyAgLy8gdGhlbiBjb252ZXJ0ZWQgYmFjayB0
byBuIGl0c2VsZi4gSWYgYW4gYXJyYXkgY29udGFpbnMgbW9yZSB0aGFuIG9uZSBlbGVtZW50LAor
ICAvLyBvciBpZiBpdHMgb25lIGVsZW1lbnQgaXMgbm90IGEgbnVtYmVyLCB0aGUgYXJyYXkgY29u
dmVydHMgdG8gTmFOLgorIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh7bGVu
Z3RoOiBbIF19LCAxKTsKKyAgCisgIGlmIChpID09PSAtMSkgeworICAgIHJldHVybiB0cnVlOwor
ICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOworIH0KK30pOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNC00LTguanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTQtOS5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE0LTQtOS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC00LTkuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNDAgKzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
Uw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0K
LS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsN
Ci0NCi0gICAgaWQ6ICIxNS40LjQuMTQtNC05IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTkuanMiLA0KLQ0KLSAg
ICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gJ2xlbmd0aCcgaXMg
YSBudW1iZXIgb2YgdmFsdWUgMC4xIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotICAgICAgICB2YXIgdGFyZ2V0T2JqID0gW107DQotICAgICAgICB2YXIgb2JqID0geyAw
OiB0YXJnZXRPYmosIDEwMDogdGFyZ2V0T2JqLCBsZW5ndGg6IDAuMSB9Ow0KLSAgICAgICAgcmV0
dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAtMTsN
Ci0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAg
ICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQot
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQtNC05IiwKKworICAgIHBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQt
NC05LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hl
biAnbGVuZ3RoJyBpcyBhIG51bWJlciBvZiB2YWx1ZSAwLjEiLAorCisgICAgdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7CisgICAgICAgIHZhciB0YXJnZXRPYmogPSBbXTsKKyAgICAgICAgdmFy
IG9iaiA9IHsgMDogdGFyZ2V0T2JqLCAxMDA6IHRhcmdldE9iaiwgbGVuZ3RoOiAwLjEgfTsKKyAg
ICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmop
ID09PSAtMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7CisgICAg
fQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNC05LmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNC01LTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTEuanMJKHJldmlzaW9uIDE5OTU0OSkK
KysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTQtNS0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQwICsxLDQwIEBACi0vLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0v
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNC01LTEiLA0KLQ0KLXBhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtNS0xLmpz
IiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gZnJvbUlu
ZGV4IGlzIHN0cmluZyIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIg
YSA9IFsxLDIsMSwyLDEsMl07DQotICBpZiAoYS5pbmRleE9mKDIsIjIiKSA9PT0gMyAmJiAgICAg
ICAgICAvLyAiMiIgcmVzb2x2ZXMgdG8gMiAgDQotICAgICAgYS5pbmRleE9mKDIsIm9uZSIpID09
PSAxKSB7ICAgICAgIC8vICJvbmUiIHJlc29sdmVzIHRvIDANCi0gICAgcmV0dXJuIHRydWU7DQot
ICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSB9DQotfSk7DQorLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7CitpZDogIjE1LjQuNC4xNC01LTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMS5qcyIsCisKK2Rlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiBmcm9tSW5kZXggaXMgc3RyaW5nIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBhID0gWzEsMiwxLDIsMSwyXTsKKyAg
aWYgKGEuaW5kZXhPZigyLCIyIikgPT09IDMgJiYgICAgICAgICAgLy8gIjIiIHJlc29sdmVzIHRv
IDIgIAorICAgICAgYS5pbmRleE9mKDIsIm9uZSIpID09PSAxKSB7ICAgICAgIC8vICJvbmUiIHJl
c29sdmVzIHRvIDAKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmlu
ZGV4T2YpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTEuanMKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE0LTUtMTAuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTEwLmpzCShyZXZpc2lv
biAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE0LTUtMTAuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDAgKzEsNDAgQEAKLS8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0K
LQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTQtNS0x
MCIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQu
NC4xNC8xNS40LjQuMTQtNS0xMC5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFs
dWUgaXMgcG9zaXRpdmUgbnVtYmVyKSIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgew0KLSAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KLSAgICAgICAgcmV0dXJuIFswLCB0
YXJnZXRPYmosIDJdLmluZGV4T2YodGFyZ2V0T2JqLCAyKSA9PT0gLTEgJiYNCi0gICAgICAgICAg
ICBbMCwgMSwgdGFyZ2V0T2JqXS5pbmRleE9mKHRhcmdldE9iaiwgMikgPT09IDI7DQotICAgIH0s
DQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0
dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0K
Ky8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE0LTUtMTAiLAorCisgICAgcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTEwLmpz
IiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiB2YWx1
ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgcG9zaXRpdmUgbnVtYmVyKSIs
CisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgICAgICAgdmFyIHRhcmdldE9i
aiA9IHt9OworICAgICAgICByZXR1cm4gWzAsIHRhcmdldE9iaiwgMl0uaW5kZXhPZih0YXJnZXRP
YmosIDIpID09PSAtMSAmJgorICAgICAgICAgICAgWzAsIDEsIHRhcmdldE9ial0uaW5kZXhPZih0
YXJnZXRPYmosIDIpID09PSAyOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRl
eE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTEwLmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTExLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS0xMS5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNC01LTExLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQwICsxLDQwIEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4N
Ci0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0
LTUtMTEiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMTQvMTUuNC40LjE0LTUtMTEuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIg
KHZhbHVlIGlzIG5lZ2F0aXZlIG51bWJlcikiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsNCi0gICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCi0gICAgICAgIHJldHVybiBb
MCwgdGFyZ2V0T2JqLCAyXS5pbmRleE9mKHRhcmdldE9iaiwgLTEpID09PSAtMSAmJg0KLSAgICAg
ICAgICAgIFswLCAxLCB0YXJnZXRPYmpdLmluZGV4T2YodGFyZ2V0T2JqLCAtMSkgPT09IDI7DQot
ICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAg
ICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gICAgfQ0KLQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE0LTUtMTEiLAorCisgICAgcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01
LTExLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hl
biB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgbmVnYXRpdmUgbnVt
YmVyKSIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgICAgICAgdmFyIHRh
cmdldE9iaiA9IHt9OworICAgICAgICByZXR1cm4gWzAsIHRhcmdldE9iaiwgMl0uaW5kZXhPZih0
YXJnZXRPYmosIC0xKSA9PT0gLTEgJiYKKyAgICAgICAgICAgIFswLCAxLCB0YXJnZXRPYmpdLmlu
ZGV4T2YodGFyZ2V0T2JqLCAtMSkgPT09IDI7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90
eXBlLmluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtMTEuanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtMTIuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTEy
LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtMTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDAg
KzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIx
NS40LjQuMTQtNS0xMiIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtNS0xMi5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBh
IG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7DQotICAgICAgICB2YXIgYXJyID0gW107DQotICAgICAgICBhcnJbTWF0aC5wb3co
MiwgMzIpIC0gMl0gPSB0cnVlOyAvL2xlbmd0aCBpcyB0aGUgbWF4IHZhbHVlIG9mIFVpbnQgdHlw
ZQ0KLSAgICAgICAgcmV0dXJuIGFyci5pbmRleE9mKHRydWUsIEluZmluaXR5KSA9PT0gLTE7DQot
ICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAg
ICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gICAgfQ0KLQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE0LTUtMTIiLAorCisgICAgcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01
LTEyLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hl
biB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpIiwK
KworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgICAgICB2YXIgYXJyID0gW107
CisgICAgICAgIGFycltNYXRoLnBvdygyLCAzMikgLSAyXSA9IHRydWU7IC8vbGVuZ3RoIGlzIHRo
ZSBtYXggdmFsdWUgb2YgVWludCB0eXBlCisgICAgICAgIHJldHVybiBhcnIuaW5kZXhPZih0cnVl
LCBJbmZpbml0eSkgPT09IC0xOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRl
eE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTEyLmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTEzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS0xMy5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNC01LTEzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5IEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4N
Ci0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0
LTUtMTMiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMTQvMTUuNC40LjE0LTUtMTMuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIg
KHZhbHVlIGlzIC1JbmZpbml0eSkiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsNCi0NCi0gICAgICAgIHJldHVybiBbdHJ1ZV0uaW5kZXhPZih0cnVlLCAtSW5maW5pdHkpID09
PSAwOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsN
Ci0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotICAg
IH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNC01LTEzIiwKKwor
ICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40
LjQuMTQtNS0xMy5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRl
eE9mIHdoZW4gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZp
bml0eSkiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgcmV0
dXJuIFt0cnVlXS5pbmRleE9mKHRydWUsIC1JbmZpbml0eSkgPT09IDA7CisgICAgfSwKKworICAg
IHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE0LTUtMTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsx
ICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtMTQuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNC01LTE0LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtMTQuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMzkgKzEsMzkgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
Uw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0K
LS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsN
Ci0NCi0gICAgaWQ6ICIxNS40LjQuMTQtNS0xNCIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtNS0xNC5qcyIsDQotDQot
ICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAn
ZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgTmFOKSIsDQotDQotICAgIHRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgcmV0dXJuIFt0cnVlXS5pbmRleE9mKHRy
dWUsIE5hTikgPT09IDAgJiYgW3RydWVdLmluZGV4T2YodHJ1ZSwgLU5hTikgPT09IDA7DQotICAg
IH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAg
cmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0p
Ow0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAor
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisv
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE0LTUtMTQiLAorCisgICAgcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTE0
LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiB2
YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgTmFOKSIsCisKKyAgICB0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICByZXR1cm4gW3RydWVdLmluZGV4
T2YodHJ1ZSwgTmFOKSA9PT0gMCAmJiBbdHJ1ZV0uaW5kZXhPZih0cnVlLCAtTmFOKSA9PT0gMDsK
KyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAg
IHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7CisgICAgfQorCit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS0xNC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTQtNS0xNS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtMTUuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS0x
NS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNC01LTE1IiwNCi0NCi0gICAgcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01
LTE1LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3
aGVuIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBuZWdhdGl2
ZSBudW1iZXIiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAg
ICAgIHJldHVybiBbMCwgdHJ1ZSwgMl0uaW5kZXhPZih0cnVlLCAiLTEiKSA9PT0gLTEgJiYNCi0g
ICAgICAgIFswLCAxLCB0cnVlXS5pbmRleE9mKHRydWUsICItMSIpID09PSAyOw0KLSAgICB9LA0K
LQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVy
biBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNC01LTE1IiwKKworICAgIHBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtNS0xNS5qcyIs
CisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gdmFsdWUg
b2YgJ2Zyb21JbmRleCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG5lZ2F0aXZlIG51bWJlciIs
CisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICByZXR1cm4gWzAs
IHRydWUsIDJdLmluZGV4T2YodHJ1ZSwgIi0xIikgPT09IC0xICYmCisgICAgICAgIFswLCAxLCB0
cnVlXS5pbmRleE9mKHRydWUsICItMSIpID09PSAyOworICAgIH0sCisKKyAgICBwcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnBy
b3RvdHlwZS5pbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTE1
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTE2LmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQt
NS0xNi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTE2LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQwICsxLDQwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4N
Ci0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlk
OiAiMTUuNC40LjE0LTUtMTYiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMTYuanMiLA0KLQ0KLSAgICBkZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2Zyb21JbmRleCcg
aXMgYSBzdHJpbmcgY29udGFpbmluZyBJbmZpbml0eSIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgew0KLSAgICAgICAgdmFyIGFyciA9IFtdOw0KLSAgICAgICAgYXJyW01hdGgu
cG93KDIsIDMyKSAtIDJdID0gdHJ1ZTsgLy9sZW5ndGggaXMgdGhlIG1heCB2YWx1ZSBvZiBVaW50
IHR5cGUNCi0gICAgICAgIHJldHVybiBhcnIuaW5kZXhPZih0cnVlLCAiSW5maW5pdHkiKSA9PT0g
LTE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0K
LSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gICAg
fQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE0LTUtMTYiLAorCisg
ICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQu
NC4xNC01LTE2LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4
T2Ygd2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIEluZmlu
aXR5IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgICAgICB2YXIgYXJy
ID0gW107CisgICAgICAgIGFycltNYXRoLnBvdygyLCAzMikgLSAyXSA9IHRydWU7IC8vbGVuZ3Ro
IGlzIHRoZSBtYXggdmFsdWUgb2YgVWludCB0eXBlCisgICAgICAgIHJldHVybiBhcnIuaW5kZXhP
Zih0cnVlLCAiSW5maW5pdHkiKSA9PT0gLTE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90
eXBlLmluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtMTYuanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtMTcuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTE3
LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtMTcuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzkg
KzEsMzkgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIx
NS40LjQuMTQtNS0xNyIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtNS0xNy5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBh
IHN0cmluZyBjb250YWluaW5nIC1JbmZpbml0eSIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgew0KLQ0KLSAgICAgICAgcmV0dXJuIFt0cnVlXS5pbmRleE9mKHRydWUsICItSW5m
aW5pdHkiKSA9PT0gMDsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4
T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQt
NS0xNyIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40
LjQuMTQvMTUuNC40LjE0LTUtMTcuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90
b3R5cGUuaW5kZXhPZiB3aGVuIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgc3RyaW5nIGNvbnRh
aW5pbmcgLUluZmluaXR5IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisg
ICAgICAgIHJldHVybiBbdHJ1ZV0uaW5kZXhPZih0cnVlLCAiLUluZmluaXR5IikgPT09IDA7Cisg
ICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICBy
ZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworICAgIH0KKworfSk7CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE0LTUtMTcuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHls
ZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0
LTUtMTguanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTE4LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtMTgu
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDAgKzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQot
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTQtNS0xOCIsDQotDQotICAgIHBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtNS0x
OC5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hl
biB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50
aWFsIG51bWJlciIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgICAg
ICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KLSAgICAgICAgcmV0dXJuIFswLCAxLCB0YXJnZXRPYmos
IDMsIDRdLmluZGV4T2YodGFyZ2V0T2JqLCAiM0UwIikgPT09IC0xICYmDQotICAgICAgICAgICAg
WzAsIDEsIDIsIHRhcmdldE9iaiwgNF0uaW5kZXhPZih0YXJnZXRPYmosICIzRTAiKSA9PT0gMzsN
Ci0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAg
ICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQot
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQtNS0xOCIsCisKKyAgICBw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0
LTUtMTguanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3
aGVuIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYW4gZXhwb25l
bnRpYWwgbnVtYmVyIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgICAg
ICB2YXIgdGFyZ2V0T2JqID0ge307CisgICAgICAgIHJldHVybiBbMCwgMSwgdGFyZ2V0T2JqLCAz
LCA0XS5pbmRleE9mKHRhcmdldE9iaiwgIjNFMCIpID09PSAtMSAmJgorICAgICAgICAgICAgWzAs
IDEsIDIsIHRhcmdldE9iaiwgNF0uaW5kZXhPZih0YXJnZXRPYmosICIzRTAiKSA9PT0gMzsKKyAg
ICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJl
dHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7CisgICAgfQorCit9KTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTQtNS0xOC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQt
NS0xOS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtMTkuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS0xOS5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdp
c3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNC01LTE5IiwNCi0NCi0gICAgcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTE5
LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVu
IHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBoZXggbnVtYmVy
IiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICAgICAgICB2YXIgdGFy
Z2V0T2JqID0ge307DQotICAgICAgICByZXR1cm4gWzAsIDEsIHRhcmdldE9iaiwgMywgNF0uaW5k
ZXhPZih0YXJnZXRPYmosICIweDAwMDMiKSA9PT0gLTEgJiYNCi0gICAgICAgICAgICBbMCwgMSwg
MiwgdGFyZ2V0T2JqLCA0XS5pbmRleE9mKHRhcmdldE9iaiwgIjB4MDAwMyIpID09PSAzOw0KLSAg
ICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAg
IHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotICAgIH0NCi0NCi19
KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAK
Ky8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNC01LTE5IiwKKworICAgIHBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtNS0x
OS5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4g
dmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGhleCBudW1iZXIi
LAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgICAgICAgIHZhciB0YXJnZXRP
YmogPSB7fTsKKyAgICAgICAgcmV0dXJuIFswLCAxLCB0YXJnZXRPYmosIDMsIDRdLmluZGV4T2Yo
dGFyZ2V0T2JqLCAiMHgwMDAzIikgPT09IC0xICYmCisgICAgICAgICAgICBbMCwgMSwgMiwgdGFy
Z2V0T2JqLCA0XS5pbmRleE9mKHRhcmdldE9iaiwgIjB4MDAwMyIpID09PSAzOworICAgIH0sCisK
KyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZu
RXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNC01LTE5LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTIuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNC01LTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS0yLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDQxICsxLDQxIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
Ci0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsNCi1pZDogIjE1LjQuNC4xNC01LTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtNS0yLmpzIiwNCi0NCi1kZXNjcmlwdGlv
bjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gZnJvbUluZGV4IGlzIGZsb2F0aW5nIHBv
aW50IG51bWJlciIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgYSA9
IG5ldyBBcnJheSgxLDIsMyk7DQotICBpZiAoYS5pbmRleE9mKDMsMC40OSkgPT09IDIgJiYgICAg
Ly8gMC40OSByZXNvbHZlcyB0byAwDQotICAgICAgYS5pbmRleE9mKDEsMC41MSkgPT09IDAgJiYg
ICAgLy8gMC41MSByZXNvbHZlcyB0byAwDQotICAgICAgYS5pbmRleE9mKDEsMS41MSkgPT09IC0x
KSB7ICAgLy8gMS4wMSByZXNvbHZlcyB0byAxDQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9
LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhp
c3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxNS40LjQuMTQtNS0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTIuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gZnJvbUluZGV4IGlzIGZsb2F0aW5nIHBvaW50IG51bWJl
ciIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgYSA9IG5ldyBBcnJheSgx
LDIsMyk7CisgIGlmIChhLmluZGV4T2YoMywwLjQ5KSA9PT0gMiAmJiAgICAvLyAwLjQ5IHJlc29s
dmVzIHRvIDAKKyAgICAgIGEuaW5kZXhPZigxLDAuNTEpID09PSAwICYmICAgIC8vIDAuNTEgcmVz
b2x2ZXMgdG8gMAorICAgICAgYS5pbmRleE9mKDEsMS41MSkgPT09IC0xKSB7ICAgLy8gMS4wMSBy
ZXNvbHZlcyB0byAxCisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5p
bmRleE9mKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS0yLmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNC01LTIwLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS0yMC5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNC01LTIwLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQwICsxLDQwIEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTUt
MjAiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40
LjQuMTQvMTUuNC40LjE0LTUtMjAuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnBy
b3RvdHlwZS5pbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2Zyb21JbmRleCcgd2hpY2ggaXMgYSBzdHJp
bmcgY29udGFpbmluZyBhIG51bWJlciB3aXRoIGxlYWRpbmcgemVyb3MiLA0KLQ0KLSAgICB0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCi0g
ICAgICAgIHJldHVybiBbMCwgMSwgdGFyZ2V0T2JqLCAzLCA0XS5pbmRleE9mKHRhcmdldE9iaiwg
IjAwMDMuMTAiKSA9PT0gLTEgJiYNCi0gICAgICAgICAgICBbMCwgMSwgMiwgdGFyZ2V0T2JqLCA0
XS5pbmRleE9mKHRhcmdldE9iaiwgIjAwMDMuMTAiKSA9PT0gMzsNCi0gICAgfSwNCi0NCi0gICAg
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
eworCisgICAgaWQ6ICIxNS40LjQuMTQtNS0yMCIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMjAuanMiLAorCisgICAg
ZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIHZhbHVlIG9mICdmcm9t
SW5kZXgnIHdoaWNoIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBudW1iZXIgd2l0aCBsZWFkaW5n
IHplcm9zIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgICAgICB2YXIg
dGFyZ2V0T2JqID0ge307CisgICAgICAgIHJldHVybiBbMCwgMSwgdGFyZ2V0T2JqLCAzLCA0XS5p
bmRleE9mKHRhcmdldE9iaiwgIjAwMDMuMTAiKSA9PT0gLTEgJiYKKyAgICAgICAgICAgIFswLCAx
LCAyLCB0YXJnZXRPYmosIDRdLmluZGV4T2YodGFyZ2V0T2JqLCAiMDAwMy4xMCIpID09PSAzOwor
ICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAg
cmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsKKyAgICB9CisKK30pOwoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNC01LTIwLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NC01LTIxLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS0yMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTIx
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUwICsxLDUwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTUtMjEiLA0KLQ0KLSAgICBwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUt
MjEuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdo
ZW4gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYW4gT2JqZWN0LCB3aGljaCBoYXMgYW4gb3duIHRv
U3RyaW5nIG1ldGhvZCIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0K
LSAgICAgICAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2Qg
ZnJvbSBPYmplY3QNCi0gICAgICAgIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgaXRzZWxmLiBTaW5j
ZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQotICAgICAgICAvLyBkb2VzIG5vdCByZXR1
cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0
DQotICAgICAgICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhv
ZCBhbmQgY29udmVydGluZyB0aGUNCi0gICAgICAgIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBu
dW1iZXIuDQotICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KLSAgICAgICAgICAgIHRvU3RyaW5n
OiBmdW5jdGlvbiAoKSB7DQotICAgICAgICAgICAgICAgIHJldHVybiAnMSc7DQotICAgICAgICAg
ICAgfQ0KLSAgICAgICAgfTsNCi0NCi0gICAgICAgIHJldHVybiBbMCwgdHJ1ZV0uaW5kZXhPZih0
cnVlLCBmcm9tSW5kZXgpID09PSAxOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUuaW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1
LjQuNC4xNC01LTIxIiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUu
NC40LzE1LjQuNC4xNC8xNS40LjQuMTQtNS0yMS5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFy
cmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYW4gT2Jq
ZWN0LCB3aGljaCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZCIsCisKKyAgICB0ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1
bHQgdmFsdWVPZigpIG1ldGhvZCBmcm9tIE9iamVjdAorICAgICAgICAvLyB0aGF0IHNpbXBseSBy
ZXR1cm5zIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZAorICAgICAg
ICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8g
Y29udmVydCB0aGUgb2JqZWN0CisgICAgICAgIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRz
IHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQorICAgICAgICAvLyByZXN1bHRp
bmcgc3RyaW5nIHRvIGEgbnVtYmVyLgorICAgICAgICB2YXIgZnJvbUluZGV4ID0geworICAgICAg
ICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gJzEn
OworICAgICAgICAgICAgfQorICAgICAgICB9OworCisgICAgICAgIHJldHVybiBbMCwgdHJ1ZV0u
aW5kZXhPZih0cnVlLCBmcm9tSW5kZXgpID09PSAxOworICAgIH0sCisKKyAgICBwcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnBy
b3RvdHlwZS5pbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTIx
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTIyLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQt
NS0yMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTIyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQ2ICsxLDQ2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4N
Ci0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlk
OiAiMTUuNC40LjE0LTUtMjIiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMjIuanMiLA0KLQ0KLSAgICBkZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2Zyb21JbmRleCcg
aXMgYW4gT2JqZWN0LCB3aGljaCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIiwNCi0NCi0gICAg
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgZnJvbUluZGV4ID0g
ew0KLSAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCi0gICAgICAgICAgICAgICAg
cmV0dXJuIDE7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgfTsNCi0NCi0NCi0gICAgICAgIHJl
dHVybiBbMCwgdHJ1ZV0uaW5kZXhPZih0cnVlLCBmcm9tSW5kZXgpID09PSAxOw0KLSAgICB9LA0K
LQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVy
biBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNC01LTIyIiwKKworICAgIHBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtNS0yMi5qcyIs
CisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gdmFsdWUg
b2YgJ2Zyb21JbmRleCcgaXMgYW4gT2JqZWN0LCB3aGljaCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0
aG9kIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHZhciBm
cm9tSW5kZXggPSB7CisgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CisgICAgICAg
ICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgICAgICB9CisgICAgICAgIH07CisKKworICAgICAg
ICByZXR1cm4gWzAsIHRydWVdLmluZGV4T2YodHJ1ZSwgZnJvbUluZGV4KSA9PT0gMTsKKyAgICB9
LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVy
biBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTQtNS0yMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMj
IC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS0y
My5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE0LTUtMjMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS0yMy5qcwko
d29ya2luZyBjb3B5KQpAQCAtMSw1NCArMSw1NCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNC01LTIzIiwNCi0NCi0gICAgcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTIzLmpz
IiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIHZh
bHVlIG9mICdmcm9tSW5kZXgnIGlzIGFuIG9iamVjdCB0aGF0IGhhcyBhbiBvd24gdmFsdWVPZiBt
ZXRob2QgdGhhdCByZXR1cm5zIGFuIG9iamVjdCBhbmQgdG9TdHJpbmcgbWV0aG9kIHRoYXQgcmV0
dXJucyBhIHN0cmluZyIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0K
LSAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCi0gICAgICAgIHZhciB2YWx1
ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCi0NCi0gICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQotICAg
ICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgdG9TdHJp
bmdBY2Nlc3NlZCA9IHRydWU7DQotICAgICAgICAgICAgICAgIHJldHVybiAnMSc7DQotICAgICAg
ICAgICAgfSwNCi0NCi0gICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQotICAgICAg
ICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQotICAgICAgICAgICAgICAgIHJldHVy
biB7fTsNCi0gICAgICAgICAgICB9DQotICAgICAgICB9Ow0KLQ0KLSAgICAgICAgcmV0dXJuIFsw
LCB0cnVlXS5pbmRleE9mKHRydWUsIGZyb21JbmRleCkgPT09IDEgJiYgdG9TdHJpbmdBY2Nlc3Nl
ZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlw
ZS5pbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IK
Ky8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUu
NC40LjE0LTUtMjMiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40
LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTIzLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBvYmpl
Y3QgdGhhdCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3Qg
YW5kIHRvU3RyaW5nIG1ldGhvZCB0aGF0IHJldHVybnMgYSBzdHJpbmciLAorCisgICAgdGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBm
YWxzZTsKKyAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOworCisgICAgICAgIHZh
ciBmcm9tSW5kZXggPSB7CisgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgeworICAg
ICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOworICAgICAgICAgICAgICAgIHJl
dHVybiAnMSc7CisgICAgICAgICAgICB9LAorCisgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlv
biAoKSB7CisgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsKKyAgICAgICAg
ICAgICAgICByZXR1cm4ge307CisgICAgICAgICAgICB9CisgICAgICAgIH07CisKKyAgICAgICAg
cmV0dXJuIFswLCB0cnVlXS5pbmRleE9mKHRydWUsIGZyb21JbmRleCkgPT09IDEgJiYgdG9TdHJp
bmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJv
dG90eXBlLmluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtMjMu
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtMjQuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01
LTI0LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtMjQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
NTggKzEsNTggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6
ICIxNS40LjQuMTQtNS0yNCIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtNS0yNC5qcyIsDQotDQotICAgIGRlc2NyaXB0
aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgdGhyb3dzIFR5cGVFcnJvciBleGNlcHRpb24g
d2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBvYmplY3Qgd2l0aCB0b1N0cmluZyBhbmQg
dmFsdWVPZiBtZXRob2RzIHRoYXQgZG9uknQgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZXMiLA0KLQ0K
LSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciB0b1N0cmlu
Z0FjY2Vzc2VkID0gZmFsc2U7DQotICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7
DQotICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KLSAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5j
dGlvbiAoKSB7DQotICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KLSAg
ICAgICAgICAgICAgICByZXR1cm4ge307DQotICAgICAgICAgICAgfSwNCi0NCi0gICAgICAgICAg
ICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQotICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3Nl
ZCA9IHRydWU7DQotICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCi0gICAgICAgICAgICB9DQot
ICAgICAgICB9Ow0KLQ0KLSAgICAgICAgdHJ5IHsNCi0gICAgICAgICAgICBbMCwgdHJ1ZV0uaW5k
ZXhPZih0cnVlLCBmcm9tSW5kZXgpOw0KLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCi0gICAg
ICAgIH0gY2F0Y2ggKGUpIHsNCi0gICAgICAgICAgICByZXR1cm4gdG9TdHJpbmdBY2Nlc3NlZCAm
JiB2YWx1ZU9mQWNjZXNzZWQ7DQotICAgICAgICB9DQotICAgIH0sDQotDQotICAgIHByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5
LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAg
IGlkOiAiMTUuNC40LjE0LTUtMjQiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTI0LmpzIiwKKworICAgIGRlc2NyaXB0
aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgdGhyb3dzIFR5cGVFcnJvciBleGNlcHRpb24g
d2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBvYmplY3Qgd2l0aCB0b1N0cmluZyBhbmQg
dmFsdWVPZiBtZXRob2RzIHRoYXQgZG9uknQgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZXMiLAorCisg
ICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgdmFyIHRvU3RyaW5nQWNj
ZXNzZWQgPSBmYWxzZTsKKyAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOworICAg
ICAgICB2YXIgZnJvbUluZGV4ID0geworICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgp
IHsKKyAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsKKyAgICAgICAgICAg
ICAgICByZXR1cm4ge307CisgICAgICAgICAgICB9LAorCisgICAgICAgICAgICB2YWx1ZU9mOiBm
dW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsKKyAg
ICAgICAgICAgICAgICByZXR1cm4ge307CisgICAgICAgICAgICB9CisgICAgICAgIH07CisKKyAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgIFswLCB0cnVlXS5pbmRleE9mKHRydWUsIGZyb21JbmRl
eCk7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAg
ICAgICAgICAgIHJldHVybiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsKKyAg
ICAgICAgfQorICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsK
KyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsKKyAgICB9
CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTI0LmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNC01LTI1LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS0yNS5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNC01LTI1LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU4ICsxLDU4IEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTUtMjUiLA0KLQ0K
LSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUu
NC40LjE0LTUtMjUuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5p
bmRleE9mIHVzZXMgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kIHdoZW4gdmFsdWUgb2YgJ2Zyb21J
bmRleCcgaXMgYW4gb2JqZWN0IHdpdGggYW4gb3duIHRvU3RyaW5nIGFuZCBpbmhlcml0ZWQgdmFs
dWVPZiBtZXRob2RzIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQot
ICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KLSAgICAgICAgdmFyIHZhbHVl
T2ZBY2Nlc3NlZCA9IGZhbHNlOw0KLQ0KLSAgICAgICAgdmFyIHByb3RvID0gew0KLSAgICAgICAg
ICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vz
c2VkID0gdHJ1ZTsNCi0gICAgICAgICAgICAgICAgcmV0dXJuIDE7DQotICAgICAgICAgICAgfQ0K
LSAgICAgICAgfTsNCi0NCi0gICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCi0gICAg
ICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCi0NCi0gICAgICAgIHZhciBjaGlsZCA9IG5ldyBD
b24oKTsNCi0gICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KLSAgICAgICAg
ICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KLSAgICAgICAgICAgIHJldHVybiAyOw0KLSAg
ICAgICAgfTsNCi0NCi0gICAgICAgIHJldHVybiBbMCwgdHJ1ZV0uaW5kZXhPZih0cnVlLCBjaGls
ZCkgPT09IDEgJiYgdmFsdWVPZkFjY2Vzc2VkICYmICF0b1N0cmluZ0FjY2Vzc2VkOw0KLSAgICB9
LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJl
dHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsN
CisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNC01LTI1IiwKKworICAgIHBhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtNS0yNS5q
cyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHVzZXMgaW5o
ZXJpdGVkIHZhbHVlT2YgbWV0aG9kIHdoZW4gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYW4gb2Jq
ZWN0IHdpdGggYW4gb3duIHRvU3RyaW5nIGFuZCBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2RzIiwK
KworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHZhciB0b1N0cmlu
Z0FjY2Vzc2VkID0gZmFsc2U7CisgICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsK
KworICAgICAgICB2YXIgcHJvdG8gPSB7CisgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAo
KSB7CisgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsKKyAgICAgICAgICAg
ICAgICByZXR1cm4gMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKworICAgICAgICB2YXIg
Q29uID0gZnVuY3Rpb24gKCkge307CisgICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsKKwor
ICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7CisgICAgICAgIGNoaWxkLnRvU3RyaW5nID0g
ZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7CisgICAg
ICAgICAgICByZXR1cm4gMjsKKyAgICAgICAgfTsKKworICAgICAgICByZXR1cm4gWzAsIHRydWVd
LmluZGV4T2YodHJ1ZSwgY2hpbGQpID09PSAxICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiAhdG9TdHJp
bmdBY2Nlc3NlZDsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7Cisg
ICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS0yNS5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTQtNS0yOC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtMjguanMJKHJldmlzaW9uIDE5
OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTQtNS0yOC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1MiArMSw1MiBAQAotLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYN
Ci0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQot
RVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNC01LTI4IiwN
Ci0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0
LzE1LjQuNC4xNC01LTI4LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5
cGUuaW5kZXhPZiAtIGFueSBzaWRlLWVmZmVjdHMgaW4gVG9QcmltaXRpdmUgcHJvY2Vzc2luZyBv
ZiAnZnJvbUluZGV4JyBkb24ndCBvY2N1ciBpZiBzdGVwIDEgdGhyb3cgYW4gZXhjZXB0aW9uIiwN
Ci0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgc3Rl
cEZpdmVPY2N1cnMgPSBmYWxzZTsNCi0gICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQotICAgICAg
ICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KLSAgICAgICAgICAgICAgICBzdGVwRml2ZU9j
Y3VycyA9IHRydWU7DQotICAgICAgICAgICAgICAgIHJldHVybiAwOw0KLSAgICAgICAgICAgIH0N
Ci0gICAgICAgIH07DQotDQotICAgICAgICB0cnkgew0KLSAgICAgICAgICAgIEFycmF5LnByb3Rv
dHlwZS5pbmRleE9mLmNhbGwodW5kZWZpbmVkLCBmcm9tSW5kZXgpOw0KLSAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsNCi0gICAgICAgIH0gY2F0Y2ggKGUpIHsNCi0gICAgICAgICAgICByZXR1cm4g
KGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmICFzdGVwRml2ZU9jY3VyczsNCi0gICAgICAgIH0N
Ci0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAg
ICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQot
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQtNS0yOCIsCisKKyAgICBw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0
LTUtMjguanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAt
IGFueSBzaWRlLWVmZmVjdHMgaW4gVG9QcmltaXRpdmUgcHJvY2Vzc2luZyBvZiAnZnJvbUluZGV4
JyBkb24ndCBvY2N1ciBpZiBzdGVwIDEgdGhyb3cgYW4gZXhjZXB0aW9uIiwKKworICAgIHRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHZhciBzdGVwRml2ZU9jY3VycyA9IGZh
bHNlOworICAgICAgICB2YXIgZnJvbUluZGV4ID0geworICAgICAgICAgICAgdmFsdWVPZjogZnVu
Y3Rpb24gKCkgeworICAgICAgICAgICAgICAgIHN0ZXBGaXZlT2NjdXJzID0gdHJ1ZTsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKworICAgICAg
ICB0cnkgeworICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh1bmRlZmlu
ZWQsIGZyb21JbmRleCk7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0gY2F0
Y2ggKGUpIHsKKyAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYg
IXN0ZXBGaXZlT2NjdXJzOworICAgICAgICB9CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90
eXBlLmluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtMjguanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtMjkuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTI5
LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtMjkuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNjIg
KzEsNjIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIx
NS40LjQuMTQtNS0yOSIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtNS0yOS5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBhbnkgc2lkZS1lZmZlY3RzIGluIFRvUHJpbWl0
aXZlIHByb2Nlc3Npbmcgb2YgJ2Zyb21JbmRleCcgZG9uJ3Qgb2NjdXIgaWYgc3RlcCAyIHRocm93
IGFuIGV4Y2VwdGlvbiIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0K
LSAgICAgICAgdmFyIHN0ZXBGaXZlT2NjdXJzID0gZmFsc2U7DQotICAgICAgICANCi0gICAgICAg
IHZhciBvYmogPSB7fTsNCi0gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5n
dGgiLCB7DQotICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQotICAgICAgICAgICAgICAg
IHRocm93IG5ldyBSYW5nZUVycm9yKCk7DQotICAgICAgICAgICAgICAgIHJldHVybiAyOw0KLSAg
ICAgICAgICAgIH0sDQotICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQotICAgICAgICB9
KTsNCi0NCi0gICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQotICAgICAgICAgICAgdmFsdWVPZjog
ZnVuY3Rpb24gKCkgew0KLSAgICAgICAgICAgICAgICBzdGVwRml2ZU9jY3VycyA9IHRydWU7DQot
ICAgICAgICAgICAgICAgIHJldHVybiAwOw0KLSAgICAgICAgICAgIH0NCi0gICAgICAgIH07DQot
DQotICAgICAgICB0cnkgew0KLSAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNh
bGwob2JqLCBmcm9tSW5kZXgpOw0KLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCi0gICAgICAg
IH0gY2F0Y2ggKGUpIHsNCi0gICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBSYW5nZUVy
cm9yKSAmJiAhc3RlcEZpdmVPY2N1cnM7DQotICAgICAgICB9DQotICAgIH0sDQotDQotICAgIHBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3Rz
KEFycmF5LnByb3RvdHlwZS5pbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVy
dHkpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQt
NS0yOSIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40
LjQuMTQvMTUuNC40LjE0LTUtMjkuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90
b3R5cGUuaW5kZXhPZiAtIGFueSBzaWRlLWVmZmVjdHMgaW4gVG9QcmltaXRpdmUgcHJvY2Vzc2lu
ZyBvZiAnZnJvbUluZGV4JyBkb24ndCBvY2N1ciBpZiBzdGVwIDIgdGhyb3cgYW4gZXhjZXB0aW9u
IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHZhciBzdGVw
Rml2ZU9jY3VycyA9IGZhbHNlOworICAgICAgICAKKyAgICAgICAgdmFyIG9iaiA9IHt9OworICAg
ICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgeworICAgICAgICAgICAg
Z2V0OiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3Io
KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gMjsKKyAgICAgICAgICAgIH0sCisgICAgICAgICAg
ICBjb25maWd1cmFibGU6IHRydWUKKyAgICAgICAgfSk7CisKKyAgICAgICAgdmFyIGZyb21JbmRl
eCA9IHsKKyAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAg
ICBzdGVwRml2ZU9jY3VycyA9IHRydWU7CisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAg
ICAgICAgICB9CisgICAgICAgIH07CisKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIEFycmF5
LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCBmcm9tSW5kZXgpOworICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICByZXR1cm4gKGUg
aW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhc3RlcEZpdmVPY2N1cnM7CisgICAgICAgIH0KKyAg
ICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJl
dHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0
LmRlZmluZVByb3BlcnR5KTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTI5
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTMuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01
LTMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS0zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQw
ICsxLDQwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAN
Ci0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0v
Ly8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQu
NC4xNC01LTMiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1
LjQuNC4xNC8xNS40LjQuMTQtNS0zLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3Rv
dHlwZS5pbmRleE9mIHdoZW4gZnJvbUluZGV4IGlzIGJvb2xlYW4iLA0KLQ0KLXRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGEgPSBbMSwyLDNdOw0KLSAgaWYgKGEuaW5kZXhPZigx
LHRydWUpID09PSAtMSAmJiAgICAgICAgLy8gdHJ1ZSByZXNvbHZlcyB0byAxDQotICAgICBhLmlu
ZGV4T2YoMSxmYWxzZSkgPT09IDAgKSB7ICAgICAgIC8vIGZhbHNlIHJlc29sdmVzIHRvIDANCi0g
ICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0K
LSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
CisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
CisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xNC01LTMiLAorCitwYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMy5q
cyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiBmcm9tSW5k
ZXggaXMgYm9vbGVhbiIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgYSA9
IFsxLDIsM107CisgIGlmIChhLmluZGV4T2YoMSx0cnVlKSA9PT0gLTEgJiYgICAgICAgIC8vIHRy
dWUgcmVzb2x2ZXMgdG8gMQorICAgICBhLmluZGV4T2YoMSxmYWxzZSkgPT09IDAgKSB7ICAgICAg
IC8vIGZhbHNlIHJlc29sdmVzIHRvIDAKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3By
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLmluZGV4T2YpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTMuanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtMzAuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTMw
LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtMzAuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNjYg
KzEsNjYgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIx
NS40LjQuMTQtNS0zMCIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtNS0zMC5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBhbnkgc2lkZS1lZmZlY3RzIGluIFRvUHJpbWl0
aXZlIHByb2Nlc3Npbmcgb2YgJ2Zyb21JbmRleCcgZG9uJ3Qgb2NjdXIgaWYgc3RlcCAzIHRocm93
IGFuIGV4Y2VwdGlvbiIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0K
LSAgICAgICAgdmFyIHN0ZXBGaXZlT2NjdXJzID0gZmFsc2U7DQotDQotICAgICAgICB2YXIgb2Jq
ID0ge307DQotICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0K
LSAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KLSAgICAgICAgICAgICAgICByZXR1cm4g
ew0KLSAgICAgICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KLSAgICAgICAg
ICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoKTsNCi0gICAgICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gMjA7DQotICAgICAgICAgICAgICAgICAgICB9DQotICAgICAgICAgICAg
ICAgIH07DQotICAgICAgICAgICAgfSwNCi0gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUN
Ci0gICAgICAgIH0pOw0KLQ0KLSAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCi0gICAgICAgICAg
ICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQotICAgICAgICAgICAgICAgIHN0ZXBGaXZlT2NjdXJz
ID0gdHJ1ZTsNCi0gICAgICAgICAgICAgICAgcmV0dXJuIDA7DQotICAgICAgICAgICAgfQ0KLSAg
ICAgICAgfTsNCi0NCi0gICAgICAgIHRyeSB7DQotICAgICAgICAgICAgQXJyYXkucHJvdG90eXBl
LmluZGV4T2YuY2FsbChvYmosIGZyb21JbmRleCk7DQotICAgICAgICAgICAgcmV0dXJuIGZhbHNl
Ow0KLSAgICAgICAgfSBjYXRjaCAoZSkgew0KLSAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5j
ZW9mIFR5cGVFcnJvcikgJiYgIXN0ZXBGaXZlT2NjdXJzOw0KLSAgICAgICAgfQ0KLSAgICB9LA0K
LQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVy
biBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRl
ZmluZVByb3BlcnR5KTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwor
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAi
MTUuNC40LjE0LTUtMzAiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTMwLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAi
QXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBhbnkgc2lkZS1lZmZlY3RzIGluIFRvUHJpbWl0aXZl
IHByb2Nlc3Npbmcgb2YgJ2Zyb21JbmRleCcgZG9uJ3Qgb2NjdXIgaWYgc3RlcCAzIHRocm93IGFu
IGV4Y2VwdGlvbiIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAg
ICB2YXIgc3RlcEZpdmVPY2N1cnMgPSBmYWxzZTsKKworICAgICAgICB2YXIgb2JqID0ge307Cisg
ICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7CisgICAgICAgICAg
ICBnZXQ6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4geworICAgICAgICAg
ICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICB0aHJvdyBuZXcgVHlwZUVycm9yKCk7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g
MjA7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9OworICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQorICAgICAgICB9KTsKKworICAg
ICAgICB2YXIgZnJvbUluZGV4ID0geworICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkg
eworICAgICAgICAgICAgICAgIHN0ZXBGaXZlT2NjdXJzID0gdHJ1ZTsKKyAgICAgICAgICAgICAg
ICByZXR1cm4gMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKworICAgICAgICB0cnkgewor
ICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIGZyb21JbmRleCk7
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAg
ICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgIXN0ZXBGaXZlT2NjdXJz
OworICAgICAgICB9CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpICYm
IGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CisgICAgfQorCit9KTsKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTQtNS0zMC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w
LDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS0zMS5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE0LTUtMzEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS0zMS5qcwkod29y
a2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0K
LS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRl
c3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNC01LTMxIiwNCi0NCi0gICAgcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTMxLmpzIiwN
Ci0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuICdmcm9t
SW5kZXgnIGlzIGEgcG9zaXRpdmUgbm9uLWludGVnZXIsIHZlcmlmeSB0cnVuY2F0aW9uIG9jY3Vy
cyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbiIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgew0KLSAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KLSAgICAgICAgcmV0dXJuIFsw
LCB0YXJnZXRPYmosIDJdLmluZGV4T2YodGFyZ2V0T2JqLCAyLjUpID09PSAtMSAmJg0KLSAgICAg
ICAgICAgIFswLCAxLCB0YXJnZXRPYmpdLmluZGV4T2YodGFyZ2V0T2JqLCAyLjUpID09PSAyOw0K
LSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAg
ICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotICAgIH0NCi0N
Ci19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8v
LyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisv
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNC01LTMxIiwKKworICAgIHBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQt
NS0zMS5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdo
ZW4gJ2Zyb21JbmRleCcgaXMgYSBwb3NpdGl2ZSBub24taW50ZWdlciwgdmVyaWZ5IHRydW5jYXRp
b24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307CisgICAgICAgIHJldHVy
biBbMCwgdGFyZ2V0T2JqLCAyXS5pbmRleE9mKHRhcmdldE9iaiwgMi41KSA9PT0gLTEgJiYKKyAg
ICAgICAgICAgIFswLCAxLCB0YXJnZXRPYmpdLmluZGV4T2YodGFyZ2V0T2JqLCAyLjUpID09PSAy
OworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAg
ICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsKKyAgICB9CisKK30p
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTMxLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNC01LTMyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS0zMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01
LTMyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQwICsxLDQwIEBACi0vLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0K
LS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
Uw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTUtMzIiLA0KLQ0KLSAgICBw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0
LTUtMzIuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9m
IHdoZW4gJ2Zyb21JbmRleCcgaXMgYSBuZWdhdGl2ZSBub24taW50ZWdlciwgdmVyaWZ5IHRydW5j
YXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uIiwNCi0NCi0gICAgdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQotICAgICAg
ICByZXR1cm4gWzAsIHRhcmdldE9iaiwgMl0uaW5kZXhPZih0YXJnZXRPYmosIC0xLjUpID09PSAt
MSAmJg0KLSAgICAgICAgICAgIFswLCAxLCB0YXJnZXRPYmpdLmluZGV4T2YodGFyZ2V0T2JqLCAt
MS41KSA9PT0gMjsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2Yp
Ow0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisv
Ly8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQtNS0z
MiIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQu
MTQvMTUuNC40LjE0LTUtMzIuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5
cGUuaW5kZXhPZiB3aGVuICdmcm9tSW5kZXgnIGlzIGEgbmVnYXRpdmUgbm9uLWludGVnZXIsIHZl
cmlmeSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbiIsCisKKyAgICB0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Owor
ICAgICAgICByZXR1cm4gWzAsIHRhcmdldE9iaiwgMl0uaW5kZXhPZih0YXJnZXRPYmosIC0xLjUp
ID09PSAtMSAmJgorICAgICAgICAgICAgWzAsIDEsIHRhcmdldE9ial0uaW5kZXhPZih0YXJnZXRP
YmosIC0xLjUpID09PSAyOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9m
KTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTMyLmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNC01LTMzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS0zMy5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNC01LTMzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQzICsxLDQzIEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTUt
MzMiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40
LjQuMTQvMTUuNC40LjE0LTUtMzMuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnBy
b3RvdHlwZS5pbmRleE9mIG1hdGNoIG9uIHRoZSBmaXJzdCBlbGVtZW50LCBhIG1pZGRsZSBlbGVt
ZW50IGFuZCB0aGUgbGFzdCBlbGVtZW50IHdoZW4gJ2Zyb21JbmRleCcgaXMgcGFzc2VkIiwNCi0N
Ci0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICByZXR1cm4gWzAs
IDEsIDIsIDMsIDRdLmluZGV4T2YoMCwgMCkgPT09IDAgJiYNCi0gICAgICAgICAgICBbMCwgMSwg
MiwgMywgNF0uaW5kZXhPZigyLCAxKSA9PT0gMiAmJg0KLSAgICAgICAgICAgIFswLCAxLCAyLCAz
LCA0XS5pbmRleE9mKDIsIDIpID09PSAyICYmDQotICAgICAgICAgICAgWzAsIDEsIDIsIDMsIDRd
LmluZGV4T2YoNCwgMikgPT09IDQgJiYNCi0gICAgICAgICAgICBbMCwgMSwgMiwgMywgNF0uaW5k
ZXhPZig0LCA0KSA9PT0gNDsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmlu
ZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQu
MTQtNS0zMyIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMTQvMTUuNC40LjE0LTUtMzMuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUuaW5kZXhPZiBtYXRjaCBvbiB0aGUgZmlyc3QgZWxlbWVudCwgYSBtaWRkbGUgZWxl
bWVudCBhbmQgdGhlIGxhc3QgZWxlbWVudCB3aGVuICdmcm9tSW5kZXgnIGlzIHBhc3NlZCIsCisK
KyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICByZXR1cm4gWzAsIDEs
IDIsIDMsIDRdLmluZGV4T2YoMCwgMCkgPT09IDAgJiYKKyAgICAgICAgICAgIFswLCAxLCAyLCAz
LCA0XS5pbmRleE9mKDIsIDEpID09PSAyICYmCisgICAgICAgICAgICBbMCwgMSwgMiwgMywgNF0u
aW5kZXhPZigyLCAyKSA9PT0gMiAmJgorICAgICAgICAgICAgWzAsIDEsIDIsIDMsIDRdLmluZGV4
T2YoNCwgMikgPT09IDQgJiYKKyAgICAgICAgICAgIFswLCAxLCAyLCAzLCA0XS5pbmRleE9mKDQs
IDQpID09PSA0OworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsKKyAg
ICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTMzLmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNC01LTQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTQuanMJKHJldmlzaW9uIDE5OTU0
OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTQtNS00LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5IEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNC01LTQiLA0KLQ0KLXBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtNS00
LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMg
MCBpZiBmcm9tSW5kZXggaXMgJ3VuZGVmaW5lZCciLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgew0KLSAgdmFyIGEgPSBbMSwyLDNdOw0KLSAgaWYgKGEuaW5kZXhPZigxLHVuZGVmaW5l
ZCkgPT09IDApIHsgICAgLy8gdW5kZWZpbmVkIHJlc29sdmVzIHRvIDANCi0gICAgcmV0dXJuIHRy
dWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQot
ICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSB9DQotfSk7DQor
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xNC01LTQiLAorCitwYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtNC5qcyIsCisKK2Rlc2Ny
aXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgcmV0dXJucyAwIGlmIGZyb21JbmRleCBp
cyAndW5kZWZpbmVkJyIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgYSA9
IFsxLDIsM107CisgIGlmIChhLmluZGV4T2YoMSx1bmRlZmluZWQpID09PSAwKSB7ICAgIC8vIHVu
ZGVmaW5lZCByZXNvbHZlcyB0byAwCisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnBy
b3RvdHlwZS5pbmRleE9mKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS00LmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTUuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTUuanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS01LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNC01
LTUiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4x
NC8xNS40LjQuMTQtNS01LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5p
bmRleE9mIHJldHVybnMgMCBpZiBmcm9tSW5kZXggaXMgbnVsbCIsDQotDQotdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7DQotICB2YXIgYSA9IFsxLDIsM107DQotICBpZiAoYS5pbmRleE9mKDEs
bnVsbCkgPT09IDAgKSB7ICAgICAgIC8vIG51bGwgcmVzb2x2ZXMgdG8gMA0KLSAgICByZXR1cm4g
dHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsN
Ci0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotIH0NCi19KTsN
CisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE0LTUtNSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtNS01LmpzIiwKKworZGVz
Y3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIDAgaWYgZnJvbUluZGV4
IGlzIG51bGwiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGEgPSBbMSwy
LDNdOworICBpZiAoYS5pbmRleE9mKDEsbnVsbCkgPT09IDAgKSB7ICAgICAgIC8vIG51bGwgcmVz
b2x2ZXMgdG8gMAorICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5k
ZXhPZik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtNS5qcwpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTQtNS02LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS02LmpzCShyZXZpc2lvbiAx
OTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE0LTUtNi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYN
Ci0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQot
RVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNC01LTYiLA0K
LQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQv
MTUuNC40LjE0LTUtNi5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBl
LmluZGV4T2Ygd2hlbiAnZnJvbUluZGV4JyBpc26SdCBwYXNzZWQiLA0KLQ0KLSAgICB0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgMywgNF07
DQotICAgICAgICAvLydmcm9tSW5kZXgnIHdpbGwgYmUgc2V0IGFzIDAgaWYgbm90IHBhc3NlZCBi
eSBkZWZhdWx0DQotICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YoMCkgPT09IGFyci5pbmRleE9m
KDAsIDApICYmDQotICAgICAgICAgICAgYXJyLmluZGV4T2YoMikgPT09IGFyci5pbmRleE9mKDIs
IDApICYmDQotICAgICAgICAgICAgYXJyLmluZGV4T2YoNCkgPT09IGFyci5pbmRleE9mKDQsIDAp
OyANCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQot
ICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9
DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
CisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
CisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQtNS02IiwKKworICAg
IHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQu
MTQtNS02LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Yg
d2hlbiAnZnJvbUluZGV4JyBpc26SdCBwYXNzZWQiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7CisgICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgMywgNF07CisgICAgICAgIC8v
J2Zyb21JbmRleCcgd2lsbCBiZSBzZXQgYXMgMCBpZiBub3QgcGFzc2VkIGJ5IGRlZmF1bHQKKyAg
ICAgICAgcmV0dXJuIGFyci5pbmRleE9mKDApID09PSBhcnIuaW5kZXhPZigwLCAwKSAmJgorICAg
ICAgICAgICAgYXJyLmluZGV4T2YoMikgPT09IGFyci5pbmRleE9mKDIsIDApICYmCisgICAgICAg
ICAgICBhcnIuaW5kZXhPZig0KSA9PT0gYXJyLmluZGV4T2YoNCwgMCk7IAorICAgIH0sCisKKyAg
ICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhp
c3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNC01LTYuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsx
ICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtNy5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE0LTUtNy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTcuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMzkgKzEsMzkgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0N
Ci0gICAgaWQ6ICIxNS40LjQuMTQtNS03IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTcuanMiLA0KLQ0KLSAgICBk
ZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2Zyb21J
bmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIDApIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7DQotDQotICAgICAgICByZXR1cm4gW3RydWVdLmluZGV4T2YodHJ1ZSwgMCkg
PT09IDA7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
ew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsNCi0g
ICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bwor
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAor
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE0LTUtNyIsCisK
KyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUu
NC40LjE0LTUtNy5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRl
eE9mIHdoZW4gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIDApIiwK
KworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHJldHVybiBbdHJ1
ZV0uaW5kZXhPZih0cnVlLCAwKSA9PT0gMDsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUuaW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS03LmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTguanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTguanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTQtNS04LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40
LjE0LTUtOCIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40
LzE1LjQuNC4xNC8xNS40LjQuMTQtNS04LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJh
eS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgbnVtYmVy
ICh2YWx1ZSBpcyArMCkiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0N
Ci0gICAgICAgIHJldHVybiBbdHJ1ZV0uaW5kZXhPZih0cnVlLCArMCkgPT09IDA7DQotICAgIH0s
DQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0
dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0K
Ky8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE0LTUtOCIsCisKKyAgICBwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtOC5qcyIs
CisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gdmFsdWUg
b2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzICswKSIsCisKKyAgICB0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICByZXR1cm4gW3RydWVdLmluZGV4T2YodHJ1
ZSwgKzApID09PSAwOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsK
KyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC01LTguanMKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE0LTUtOS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtOS5qcwkocmV2aXNpb24gMTk5
NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNC01LTkuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzkgKzEsMzkgQEAKLS8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQot
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTQtNS05IiwNCi0N
Ci0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1
LjQuNC4xNC01LTkuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5p
bmRleE9mIHdoZW4gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC0w
KSIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgcmV0
dXJuIFt0cnVlXS5pbmRleE9mKHRydWUsIC0wKSA9PT0gMDsNCi0gICAgfSwNCi0NCi0gICAgcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMo
QXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoewor
CisgICAgaWQ6ICIxNS40LjQuMTQtNS05IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtNS05LmpzIiwKKworICAgIGRlc2Ny
aXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4
JyBpcyBhIG51bWJlciAodmFsdWUgaXMgLTApIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgeworCisgICAgICAgIHJldHVybiBbdHJ1ZV0uaW5kZXhPZih0cnVlLCAtMCkgPT09IDA7
CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAg
ICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworICAgIH0KKworfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE0LTUtOS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTQtNi0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNi0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTYtMS5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw0MSArMSw0MSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTQtNi0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTYtMS5qcyIsDQotDQot
ZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmIGZyb21J
bmRleCBpcyBncmVhdGVyIHRoYW4gQXJyYXkubGVuZ3RoIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsNCi0gIHZhciBhID0gWzEsMiwzXTsNCi0gIGlmIChhLmluZGV4T2YoMSw1KSA9
PT0gLTEgJiYgIA0KLSAgICAgYS5pbmRleE9mKDEsMykgPT09IC0xICAmJg0KLSAgICAgWyBdLmlu
ZGV4T2YoMSwwKSA9PT0gLTEgICl7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0K
LXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFy
cmF5LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisv
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIx
NS40LjQuMTQtNi0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQv
MTUuNC40LjE0LzE1LjQuNC4xNC02LTEuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3Rv
dHlwZS5pbmRleE9mIHJldHVybnMgLTEgaWYgZnJvbUluZGV4IGlzIGdyZWF0ZXIgdGhhbiBBcnJh
eS5sZW5ndGgiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGEgPSBbMSwy
LDNdOworICBpZiAoYS5pbmRleE9mKDEsNSkgPT09IC0xICYmICAKKyAgICAgYS5pbmRleE9mKDEs
MykgPT09IC0xICAmJgorICAgICBbIF0uaW5kZXhPZigxLDApID09PSAtMSAgKXsKKyAgICByZXR1
cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewor
ICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworIH0KK30pOwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNC02LTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQoj
IyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTct
MS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE0LTctMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC03LTEuanMJKHdv
cmtpbmcgY29weSkKQEAgLTEsNDAgKzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QN
Ci0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTQtNy0xIiwNCi0NCi0gICAgcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC03LTEuanMiLA0K
LQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgLTEg
d2hlbiAnZnJvbUluZGV4JyBpcyBsZW5ndGggb2YgYXJyYXkgLSAxIiwNCi0NCi0gICAgdGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICByZXR1cm4gWzEsIDIsIDNdLmluZGV4
T2YoMSwgMikgPT09IC0xOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5k
ZXhPZik7DQotICAgIH0NCi0NCi19KQ0KLQ0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40
LjE0LTctMSIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMTQvMTUuNC40LjE0LTctMS5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnBy
b3RvdHlwZS5pbmRleE9mIHJldHVybnMgLTEgd2hlbiAnZnJvbUluZGV4JyBpcyBsZW5ndGggb2Yg
YXJyYXkgLSAxIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAg
IHJldHVybiBbMSwgMiwgM10uaW5kZXhPZigxLCAyKSA9PT0gLTE7CisgICAgfSwKKworICAgIHBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMo
QXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworICAgIH0KKworfSkKKwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNC03LTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTctMi5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE0LTctMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC03LTIuanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsNDAgKzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0K
LS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0g
ICAgaWQ6ICIxNS40LjQuMTQtNy0yIiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC03LTIuanMiLA0KLQ0KLSAgICBkZXNj
cmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgY29ycmVjdCBpbmRleCB3
aGVuICdmcm9tSW5kZXgnIGlzIGxlbmd0aCBvZiBhcnJheSAtIDEiLA0KLQ0KLSAgICB0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHJldHVybiBbMSwgMiwgM10uaW5kZXhP
ZigzLCAyKSA9PT0gMjsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4
T2YpOw0KLSAgICB9DQotDQotfSkNCi0NCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4x
NC03LTIiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjE0LzE1LjQuNC4xNC03LTIuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90
b3R5cGUuaW5kZXhPZiByZXR1cm5zIGNvcnJlY3QgaW5kZXggd2hlbiAnZnJvbUluZGV4JyBpcyBs
ZW5ndGggb2YgYXJyYXkgLSAxIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewor
CisgICAgICAgIHJldHVybiBbMSwgMiwgM10uaW5kZXhPZigzLCAyKSA9PT0gMjsKKyAgICB9LAor
CisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7CisgICAgfQorCit9KQorCgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE0LTctMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w
LDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNy0zLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTQtNy0zLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTctMy5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
DQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
ew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNC03LTMiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTctMy5qcyIsDQotDQot
ICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgcmV0dXJucyAtMSB3aGVu
ICdmcm9tSW5kZXgnIGFuZCAnbGVuZ3RoJyBhcmUgYm90aCAwIiwNCi0NCi0gICAgdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICByZXR1cm4gW10uaW5kZXhPZigxLCAwKSA9
PT0gLTE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
ew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsNCi0g
ICAgfQ0KLQ0KLX0pDQotDQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
CisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8g
CisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisK
KworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQtNy0zIiwK
KworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8x
NS40LjQuMTQtNy0zLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmlu
ZGV4T2YgcmV0dXJucyAtMSB3aGVuICdmcm9tSW5kZXgnIGFuZCAnbGVuZ3RoJyBhcmUgYm90aCAw
IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHJldHVybiBb
XS5pbmRleE9mKDEsIDApID09PSAtMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUu
aW5kZXhPZik7CisgICAgfQorCit9KQorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTctMy5qcwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNy00LmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNy00LmpzCShy
ZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE0LTctNC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBA
QAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0K
LS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
DQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4x
NC03LTQiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMTQvMTUuNC40LjE0LTctNC5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXku
cHJvdG90eXBlLmluZGV4T2YgcmV0dXJucyAtMSB3aGVuICdmcm9tSW5kZXgnIGlzIDEiLA0KLQ0K
LSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHJldHVybiBbMSwg
MiwgM10uaW5kZXhPZigxLCAxKSA9PT0gLTE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnBy
b3RvdHlwZS5pbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pDQotDQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAg
aWQ6ICIxNS40LjQuMTQtNy00IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtNy00LmpzIiwKKworICAgIGRlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgcmV0dXJucyAtMSB3aGVuICdmcm9tSW5kZXgnIGlz
IDEiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgcmV0dXJu
IFsxLCAyLCAzXS5pbmRleE9mKDEsIDEpID09PSAtMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5w
cm90b3R5cGUuaW5kZXhPZik7CisgICAgfQorCit9KQorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTct
NC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNy01LmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQt
Ny01LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTctNS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0
MCArMSw0MCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
DQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQot
Ly8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDog
IjE1LjQuNC4xNC03LTUiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40
LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTctNS5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgcmV0dXJucyBjb3JyZWN0IGluZGV4IHdoZW4gJ2Zy
b21JbmRleCcgaXMgMSIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0K
LSAgICAgICAgcmV0dXJuIFsxLCAyLCAzXS5pbmRleE9mKDIsIDEpID09PSAxOw0KLSAgICB9LA0K
LQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVy
biBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotICAgIH0NCi0NCi19KQ0KLQ0K
Ky8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE0LTctNSIsCisKKyAgICBwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTctNS5qcyIs
CisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgY29y
cmVjdCBpbmRleCB3aGVuICdmcm9tSW5kZXgnIGlzIDEiLAorCisgICAgdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7CisKKyAgICAgICAgcmV0dXJuIFsxLCAyLCAzXS5pbmRleE9mKDIsIDEpID09
PSAxOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAg
ICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsKKyAgICB9CisK
K30pCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtNy01LmpzCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
b2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNC03LTcuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC03LTcuanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQt
Ny03LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQwICsxLDQwIEBACi0vLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0K
LS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
Uw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTctNyIsDQotDQotICAgIHBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQt
Ny03LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBy
ZXR1cm5zIGNvcnJlY3QgaW5kZXggd2hlbiAnZnJvbUluZGV4JyBpcyAxIiwNCi0NCi0gICAgdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICByZXR1cm4gWzEsIDIsIDNdLmlu
ZGV4T2YoMiwgMSkgPT09IDE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5p
bmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pDQotDQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40
LjQuMTQtNy03IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40
LzE1LjQuNC4xNC8xNS40LjQuMTQtNy03LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXku
cHJvdG90eXBlLmluZGV4T2YgcmV0dXJucyBjb3JyZWN0IGluZGV4IHdoZW4gJ2Zyb21JbmRleCcg
aXMgMSIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICByZXR1
cm4gWzEsIDIsIDNdLmluZGV4T2YoMiwgMSkgPT09IDE7CisgICAgfSwKKworICAgIHByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLmluZGV4T2YpOworICAgIH0KKworfSkKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC03
LTcuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTgtMS5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0
LTgtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC04LTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
NDMgKzEsNDMgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUu
NC40LjE0LTgtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQv
MTUuNC40LjE0LzE1LjQuNC4xNC04LTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmluZGV4T2Ygd2l0aCBuZWdhdGl2ZSBmcm9tSW5kZXgiLA0KLQ0KLXRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGEgPSBuZXcgQXJyYXkoMSwyLDMpOw0KLSAgDQotICBp
ZiAoYS5pbmRleE9mKDIsLTEpID09PSAtMSAmJiAgDQotICAgICAgYS5pbmRleE9mKDIsLTIpID09
PSAxICYmICANCi0gICAgICBhLmluZGV4T2YoMSwtMykgPT09IDAgJiYgIA0KLSAgICAgIGEuaW5k
ZXhPZigxLC01LjMpID09PSAwICkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0N
Ci1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhB
cnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAi
MTUuNC40LjE0LTgtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40
LzE1LjQuNC4xNC8xNS40LjQuMTQtOC0xLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90
b3R5cGUuaW5kZXhPZiB3aXRoIG5lZ2F0aXZlIGZyb21JbmRleCIsCisKK3Rlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworICB2YXIgYSA9IG5ldyBBcnJheSgxLDIsMyk7CisgIAorICBpZiAoYS5p
bmRleE9mKDIsLTEpID09PSAtMSAmJiAgCisgICAgICBhLmluZGV4T2YoMiwtMikgPT09IDEgJiYg
IAorICAgICAgYS5pbmRleE9mKDEsLTMpID09PSAwICYmICAKKyAgICAgIGEuaW5kZXhPZigxLC01
LjMpID09PSAwICkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUu
aW5kZXhPZik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTgtMS5qcwpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTQtOC0xMC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTgtMTAuanMJKHJldmlz
aW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTQtOC0xMC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAot
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNC04
LTEwIiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjE0LzE1LjQuNC4xNC04LTEwLmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gYWJzKCdmcm9tSW5kZXgnKSBpcyBsZW5n
dGggb2YgYXJyYXkiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0g
ICAgICAgIHJldHVybiBbMSwgMiwgMywgNF0uaW5kZXhPZigwLCAtNCkgPT09IC0xOw0KLSAgICB9
LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJl
dHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotICAgIH0NCi0NCi19KQ0K
LQ0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAor
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisv
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE0LTgtMTAiLAorCisgICAgcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC04LTEw
LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgcmV0dXJu
cyAtMSB3aGVuIGFicygnZnJvbUluZGV4JykgaXMgbGVuZ3RoIG9mIGFycmF5IiwKKworICAgIHRl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHJldHVybiBbMSwgMiwgMywgNF0u
aW5kZXhPZigwLCAtNCkgPT09IC0xOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5p
bmRleE9mKTsKKyAgICB9CisKK30pCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOC0xMC5qcwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOC0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOC0yLmpzCShy
ZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE0LTgtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBA
QAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0K
LS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
DQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4x
NC04LTIiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMTQvMTUuNC40LjE0LTgtMi5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXku
cHJvdG90eXBlLmluZGV4T2YgcmV0dXJucyBjb3JyZWN0IGluZGV4IHdoZW4gJ2Zyb21JbmRleCcg
aXMgLTEiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAg
IHJldHVybiBbMSwgMiwgMywgNF0uaW5kZXhPZig0LCAtMSkgPT09IDM7DQotICAgIH0sDQotDQot
ICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZu
RXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pDQotDQorLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
Ky8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQtOC0yIiwKKworICAgIHBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtOC0yLmpzIiwKKwor
ICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgcmV0dXJucyBjb3JyZWN0
IGluZGV4IHdoZW4gJ2Zyb21JbmRleCcgaXMgLTEiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7CisKKyAgICAgICAgcmV0dXJuIFsxLCAyLCAzLCA0XS5pbmRleE9mKDQsIC0xKSA9
PT0gMzsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7Cisg
ICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7CisgICAgfQor
Cit9KQorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTgtMi5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTQtOC0zLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOC0zLmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0
LTgtMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNC04LTMiLA0KLQ0KLSAgICBw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0
LTgtMy5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Yg
cmV0dXJucyAtMSB3aGVuIGFicygnZnJvbUluZGV4JykgaXMgbGVuZ3RoIG9mIGFycmF5IC0gMSIs
DQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgcmV0dXJu
IFsxLCAyLCAzLCA0XS5pbmRleE9mKDEsIC0zKSA9PT0gLTE7DQotICAgIH0sDQotDQotICAgIHBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3Rz
KEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pDQotDQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
eworCisgICAgaWQ6ICIxNS40LjQuMTQtOC0zIiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtOC0zLmpzIiwKKworICAgIGRl
c2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgcmV0dXJucyAtMSB3aGVuIGFicygn
ZnJvbUluZGV4JykgaXMgbGVuZ3RoIG9mIGFycmF5IC0gMSIsCisKKyAgICB0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsKKworICAgICAgICByZXR1cm4gWzEsIDIsIDMsIDRdLmluZGV4T2YoMSwg
LTMpID09PSAtMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7Cisg
ICAgfQorCit9KQorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTgtMy5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTQtOC00LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOC00LmpzCShyZXZpc2lvbiAxOTk1
NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE0LTgtNC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAotLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
DQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0v
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNC04LTQiLA0KLQ0K
LSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUu
NC40LjE0LTgtNC5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmlu
ZGV4T2YgcmV0dXJucyAtMSB3aGVuIGFicygnZnJvbUluZGV4JykgaXMgbGVuZ3RoIG9mIGFycmF5
IiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICByZXR1
cm4gWzEsIDIsIDMsIDRdLmluZGV4T2YoMCwgLTQpID09PSAtMTsNCi0gICAgfSwNCi0NCi0gICAg
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQotDQotfSkNCi0NCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCh7CisKKyAgICBpZDogIjE1LjQuNC4xNC04LTQiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC04LTQuanMiLAorCisgICAg
ZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gYWJz
KCdmcm9tSW5kZXgnKSBpcyBsZW5ndGggb2YgYXJyYXkiLAorCisgICAgdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7CisKKyAgICAgICAgcmV0dXJuIFsxLCAyLCAzLCA0XS5pbmRleE9mKDAsIC00
KSA9PT0gLTE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
eworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworICAg
IH0KKworfSkKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC04LTQuanMKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE0LTgtOC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTgtOC5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNC04LTguanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDAgKzEsNDAgQEAKLS8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0K
LS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTQtOC04IiwNCi0NCi0g
ICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQu
NC4xNC04LTguanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRl
eE9mIHJldHVybnMgY29ycmVjdCBpbmRleCB3aGVuICdmcm9tSW5kZXgnIGlzIC0xIiwNCi0NCi0g
ICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICByZXR1cm4gWzEsIDIs
IDMsIDRdLmluZGV4T2YoNCwgLTEpID09PSAzOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5w
cm90b3R5cGUuaW5kZXhPZik7DQotICAgIH0NCi0NCi19KQ0KLQ0KKy8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAg
IGlkOiAiMTUuNC40LjE0LTgtOCIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTgtOC5qcyIsCisKKyAgICBkZXNjcmlwdGlv
bjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgY29ycmVjdCBpbmRleCB3aGVuICdm
cm9tSW5kZXgnIGlzIC0xIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisg
ICAgICAgIHJldHVybiBbMSwgMiwgMywgNF0uaW5kZXhPZig0LCAtMSkgPT09IDM7CisgICAgfSwK
KworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4g
Zm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworICAgIH0KKworfSkKKwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNC04LTguanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTgtOS5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE0LTgtOS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC04LTkuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDAgKzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTQtOC05IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC04LTkuanMiLA0KLQ0K
LSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgLTEgd2hl
biBhYnMoJ2Zyb21JbmRleCcpIGlzIGxlbmd0aCBvZiBhcnJheSAtIDEiLA0KLQ0KLSAgICB0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHJldHVybiBbMSwgMiwgMywgNF0u
aW5kZXhPZigxLCAtMykgPT09IC0xOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUuaW5kZXhPZik7DQotICAgIH0NCi0NCi19KQ0KLQ0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwor
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAi
MTUuNC40LjE0LTgtOSIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1
LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTgtOS5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFy
cmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgLTEgd2hlbiBhYnMoJ2Zyb21JbmRleCcpIGlz
IGxlbmd0aCBvZiBhcnJheSAtIDEiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
CisKKyAgICAgICAgcmV0dXJuIFsxLCAyLCAzLCA0XS5pbmRleE9mKDEsIC0zKSA9PT0gLTE7Cisg
ICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICBy
ZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworICAgIH0KKworfSkKKwoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNC04LTkuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHls
ZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0
LTktMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LTEuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNDMgKzEsNDMgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE0LTktMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTEuanMiLA0KLQ0KLWRl
c2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBp
bmRleCAoYm9vbGVhbikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFy
IG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB0cnVlfX07DQotICB2YXIgX2ZhbHNl
ID0gZmFsc2U7DQotICB2YXIgYSA9IFtvYmosInRydWUiLCB1bmRlZmluZWQsMCxfZmFsc2UsbnVs
bCwxLCJzdHIiLDAsMSx0cnVlLGZhbHNlLHRydWUsZmFsc2VdOw0KLSAgaWYgKGEuaW5kZXhPZih0
cnVlKSA9PT0gMTAgJiYgIC8vYVsxMF09dHJ1ZQ0KLSAgICAgIGEuaW5kZXhPZihmYWxzZSkgPT09
IDQpICAgIC8vYVs0XSA9X2ZhbHNlDQotICB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9
LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhp
c3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxNS40LjQuMTQtOS0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTEuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5pbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXggKGJvb2xlYW4pIiwK
KwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBvYmogPSB7dG9TdHJpbmc6ZnVu
Y3Rpb24oKXtyZXR1cm4gdHJ1ZX19OworICB2YXIgX2ZhbHNlID0gZmFsc2U7CisgIHZhciBhID0g
W29iaiwidHJ1ZSIsIHVuZGVmaW5lZCwwLF9mYWxzZSxudWxsLDEsInN0ciIsMCwxLHRydWUsZmFs
c2UsdHJ1ZSxmYWxzZV07CisgIGlmIChhLmluZGV4T2YodHJ1ZSkgPT09IDEwICYmICAvL2FbMTBd
PXRydWUKKyAgICAgIGEuaW5kZXhPZihmYWxzZSkgPT09IDQpICAgIC8vYVs0XSA9X2ZhbHNlCisg
IHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOwor
IH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LTEuanMKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE0LTktMTAuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LTEwLmpzCShyZXZpc2lvbiAxOTk1NDkp
CisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE0LTktMTAuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDQgKzEsNDQgQEAKLS8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0K
LS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0vKiogbm90
ZSB0aGF0IHByaW9yIHRvIHRoZSBmaW5hbGx5IEVTNSBkcmFmdCBTYW1lVmFsdWUgd2FzIHVzZWQg
Zm9yIGNvbXBhcmlzaW9ucw0KLWFuZCBoZW5jZSBOYU5zIGNvdWxkIGJlIGZvdW5kIHVzaW5nIGlu
ZGV4T2YgKiovDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQu
NC4xNC05LTEwIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMTQvMTUuNC40LjE0LTktMTAuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCAoTmFOKSIsDQotDQotdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgX05hTiA9IE5hTjsNCi0gIHZhciBhID0g
bmV3IEFycmF5KCJOYU4iLHVuZGVmaW5lZCwwLGZhbHNlLG51bGwse3RvU3RyaW5nOmZ1bmN0aW9u
KCl7cmV0dXJuIE5hTn19LCJmYWxzZSIsX05hTixOYU4pOw0KLSAgaWYgKGEuaW5kZXhPZihOYU4p
ID09PSAtMSkgIC8vIE5hTiBpcyBlcXVhbCB0byBub3RoaW5nLCBpbmNsdWRpbmcgaXRzZWxmLg0K
LSAgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5k
ZXhPZik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8v
LyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisKKy8qKiBub3RlIHRoYXQgcHJpb3IgdG8gdGhlIGZpbmFsbHkgRVM1IGRyYWZ0IFNhbWVWYWx1
ZSB3YXMgdXNlZCBmb3IgY29tcGFyaXNpb25zCithbmQgaGVuY2UgTmFOcyBjb3VsZCBiZSBmb3Vu
ZCB1c2luZyBpbmRleE9mICoqLworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDog
IjE1LjQuNC4xNC05LTEwIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40
LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTEwLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChOYU4pIiwKKwordGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBfTmFOID0gTmFOOworICB2YXIgYSA9IG5l
dyBBcnJheSgiTmFOIix1bmRlZmluZWQsMCxmYWxzZSxudWxsLHt0b1N0cmluZzpmdW5jdGlvbigp
e3JldHVybiBOYU59fSwiZmFsc2UiLF9OYU4sTmFOKTsKKyAgaWYgKGEuaW5kZXhPZihOYU4pID09
PSAtMSkgIC8vIE5hTiBpcyBlcXVhbCB0byBub3RoaW5nLCBpbmNsdWRpbmcgaXRzZWxmLgorICB7
CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsKKyB9
Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS0xMC5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTQtOS0xMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktMTEuanMJKHJldmlzaW9uIDE5OTU0OSkK
KysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTQtOS0xMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0OSArMSw0OSBAQAotLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQot
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNC05LTExIiwNCi0NCi0g
ICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQu
NC4xNC05LTExLmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5k
ZXhPZiAtIHRoZSBsZW5ndGggb2YgaXRlcmF0aW9uIGlzbpJ0IGNoYW5nZWQgYnkgYWRkaW5nIGVs
ZW1lbnRzIHRvIHRoZSBhcnJheSBkdXJpbmcgaXRlcmF0aW9uIiwNCi0NCi0gICAgdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgYXJyID0gWzIwXTsNCi0NCi0gICAg
ICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KLSAgICAgICAgICAgIGdldDog
ZnVuY3Rpb24gKCkgew0KLSAgICAgICAgICAgICAgICBhcnJbMV0gPSAxOw0KLSAgICAgICAgICAg
ICAgICByZXR1cm4gMDsNCi0gICAgICAgICAgICB9LA0KLSAgICAgICAgICAgIGNvbmZpZ3VyYWJs
ZTogdHJ1ZQ0KLSAgICAgICAgfSk7DQotDQotICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YoMSkg
PT09IC0xOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZikgJiYg
Zm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisv
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE0LTktMTEiLAorCisgICAgcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTExLmpzIiwKKwor
ICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB0aGUgbGVuZ3RoIG9m
IGl0ZXJhdGlvbiBpc26SdCBjaGFuZ2VkIGJ5IGFkZGluZyBlbGVtZW50cyB0byB0aGUgYXJyYXkg
ZHVyaW5nIGl0ZXJhdGlvbiIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKwor
ICAgICAgICB2YXIgYXJyID0gWzIwXTsKKworICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHko
YXJyLCAiMCIsIHsKKyAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAg
ICAgIGFyclsxXSA9IDE7CisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICB9
LAorICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCisgICAgICAgIH0pOworCisgICAgICAg
IHJldHVybiBhcnIuaW5kZXhPZigxKSA9PT0gLTE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJv
dG90eXBlLmluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CisgICAg
fQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS0xMS5qcwpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTQtOS0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS0yLmpzCShyZXZpc2lvbiAxOTk1NDkp
CisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE0LTktMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NiArMSw0NiBAQAotLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQot
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTQtOS0yIiwNCi0NCi1wYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktMi5q
cyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVy
biBjb3JyZWN0IGluZGV4IChOdW1iZXIpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsNCi0gIHZhciBvYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gMH19Ow0KLSAgdmFy
IG9uZSA9IDE7DQotICB2YXIgX2Zsb2F0ID0gLSg0LzMpOw0KLSAgdmFyIGEgPSBuZXcgQXJyYXko
ZmFsc2UsdW5kZWZpbmVkLG51bGwsIjAiLG9iaiwtMS4zMzMzMzMzMzMzMzMzLCAic3RyIiwtMCx0
cnVlLCswLCBvbmUsIDEsMCwgZmFsc2UsIF9mbG9hdCwgLSg0LzMpKTsNCi0gIGlmIChhLmluZGV4
T2YoLSg0LzMpKSA9PT0gMTQgJiYgICAgICAvLyBhWzE0XT1fZmxvYXQ9PT0tKDQvMykNCi0gICAg
ICBhLmluZGV4T2YoMCkgPT09IDcgICAgICAmJiAgICAgICAvLyBhWzddID0gKzAsIDA9PT0rMA0K
LSAgICAgIGEuaW5kZXhPZigtMCkgPT09IDcgICAgICAmJiAgICAgLy8gYVs3XSA9ICswLCAtMD09
PSswDQotICAgICAgYS5pbmRleE9mKDEpID09PSAxMCApICAgICAgICAgICAgLy8gYVsxMF0gPW9u
ZT09PSAxDQotICB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3Rv
dHlwZS5pbmRleE9mKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTQt
OS0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0
LzE1LjQuNC4xNC05LTIuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRl
eE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXggKE51bWJlcikiLAorCit0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsKKyAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAw
fX07CisgIHZhciBvbmUgPSAxOworICB2YXIgX2Zsb2F0ID0gLSg0LzMpOworICB2YXIgYSA9IG5l
dyBBcnJheShmYWxzZSx1bmRlZmluZWQsbnVsbCwiMCIsb2JqLC0xLjMzMzMzMzMzMzMzMzMsICJz
dHIiLC0wLHRydWUsKzAsIG9uZSwgMSwwLCBmYWxzZSwgX2Zsb2F0LCAtKDQvMykpOworICBpZiAo
YS5pbmRleE9mKC0oNC8zKSkgPT09IDE0ICYmICAgICAgLy8gYVsxNF09X2Zsb2F0PT09LSg0LzMp
CisgICAgICBhLmluZGV4T2YoMCkgPT09IDcgICAgICAmJiAgICAgICAvLyBhWzddID0gKzAsIDA9
PT0rMAorICAgICAgYS5pbmRleE9mKC0wKSA9PT0gNyAgICAgICYmICAgICAvLyBhWzddID0gKzAs
IC0wPT09KzAKKyAgICAgIGEuaW5kZXhPZigxKSA9PT0gMTAgKSAgICAgICAgICAgIC8vIGFbMTBd
ID1vbmU9PT0gMQorICB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlw
ZS5pbmRleE9mKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS0yLmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LTMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LTMuanMJKHJldmlz
aW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTQtOS0zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNC05LTMiLA0K
LQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40
LjQuMTQtOS0zLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9m
IG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXgoc3RyaW5nKSIsDQotDQotdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7DQotICB2YXIgb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJm
YWxzZSJ9fTsNCi0gIHZhciBzekZhbHNlID0gImZhbHNlIjsNCi0gIHZhciBhID0gbmV3IEFycmF5
KCJmYWxzZTEiLHVuZGVmaW5lZCwwLGZhbHNlLG51bGwsMSxvYmosMCxzekZhbHNlLCAiZmFsc2Ui
KTsNCi0gIGlmIChhLmluZGV4T2YoImZhbHNlIikgPT09IDgpICAvL2FbOF09c3pGYWxzZQ0KLSAg
ew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhP
Zik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8K
Ky8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAK
Ky8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisK
KworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE0LTktMyIsCisKK3Bh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQt
OS0zLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJl
dHVybiBjb3JyZWN0IGluZGV4KHN0cmluZykiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsKKyAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiZmFsc2UifX07Cisg
IHZhciBzekZhbHNlID0gImZhbHNlIjsKKyAgdmFyIGEgPSBuZXcgQXJyYXkoImZhbHNlMSIsdW5k
ZWZpbmVkLDAsZmFsc2UsbnVsbCwxLG9iaiwwLHN6RmFsc2UsICJmYWxzZSIpOworICBpZiAoYS5p
bmRleE9mKCJmYWxzZSIpID09PSA4KSAgLy9hWzhdPXN6RmFsc2UKKyAgeworICAgIHJldHVybiB0
cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJl
dHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7CisgfQorfSk7CgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE0LTktMy5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w
LDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS00Lmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTQtOS00LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktNC5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMSw0MyArMSw0MyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
DQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7DQotaWQ6ICIxNS40LjQuMTQtOS00IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktNC5qcyIsDQotDQotZGVzY3JpcHRp
b246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4KHVu
ZGVmaW5lZCkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIG9iaiA9
IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB1bmRlZmluZWQ7fX07DQotICB2YXIgX3VuZGVm
aW5lZDEgPSB1bmRlZmluZWQ7DQotICB2YXIgX3VuZGVmaW5lZDI7DQotICB2YXIgYSA9IG5ldyBB
cnJheSh0cnVlLDAsZmFsc2UsbnVsbCwxLCJ1bmRlZmluZWQiLG9iaiwxLF91bmRlZmluZWQyLF91
bmRlZmluZWQxLHVuZGVmaW5lZCk7DQotICBpZiAoYS5pbmRleE9mKHVuZGVmaW5lZCkgPT09IDgp
IC8vYVs4XT1fdW5kZWZpbmVkMg0KLSAgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwN
Ci0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0
cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTUuNC40LjE0LTktNCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUu
NC40LzE1LjQuNC4xNC8xNS40LjQuMTQtOS00LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4KHVuZGVmaW5lZCkiLAor
Cit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5j
dGlvbigpe3JldHVybiB1bmRlZmluZWQ7fX07CisgIHZhciBfdW5kZWZpbmVkMSA9IHVuZGVmaW5l
ZDsKKyAgdmFyIF91bmRlZmluZWQyOworICB2YXIgYSA9IG5ldyBBcnJheSh0cnVlLDAsZmFsc2Us
bnVsbCwxLCJ1bmRlZmluZWQiLG9iaiwxLF91bmRlZmluZWQyLF91bmRlZmluZWQxLHVuZGVmaW5l
ZCk7CisgIGlmIChhLmluZGV4T2YodW5kZWZpbmVkKSA9PT0gOCkgLy9hWzhdPV91bmRlZmluZWQy
CisgIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2Yp
OworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LTQuanMKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE0LTktNS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktNS5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNC05LTUuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDMgKzEsNDMgQEAKLS8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0K
LS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE0LTktNSIsDQotDQotcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTUu
anMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgbXVzdCByZXR1
cm4gY29ycmVjdCBpbmRleCAoT2JqZWN0KSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotICB2YXIgb2JqMSA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiZmFsc2UifX07
DQotICB2YXIgb2JqMiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiZmFsc2UifX07DQot
ICB2YXIgb2JqMyA9IG9iajE7DQotICB2YXIgYSA9IG5ldyBBcnJheShmYWxzZSx1bmRlZmluZWQs
MCxmYWxzZSxudWxsLHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiZmFsc2UifX0sImZhbHNl
IixvYmoyLG9iajEsb2JqMyk7DQotICBpZiAoYS5pbmRleE9mKG9iajMpID09PSA4KSAgLy9hWzhd
ID0gb2JqMTsNCi0gIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJv
dG90eXBlLmluZGV4T2YpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4x
NC05LTUiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQu
MTQvMTUuNC40LjE0LTktNS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmlu
ZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCAoT2JqZWN0KSIsCisKK3Rlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgeworICB2YXIgb2JqMSA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVy
biAiZmFsc2UifX07CisgIHZhciBvYmoyID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJm
YWxzZSJ9fTsKKyAgdmFyIG9iajMgPSBvYmoxOworICB2YXIgYSA9IG5ldyBBcnJheShmYWxzZSx1
bmRlZmluZWQsMCxmYWxzZSxudWxsLHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiZmFsc2Ui
fX0sImZhbHNlIixvYmoyLG9iajEsb2JqMyk7CisgIGlmIChhLmluZGV4T2Yob2JqMykgPT09IDgp
ICAvL2FbOF0gPSBvYmoxOworICB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnBy
b3RvdHlwZS5pbmRleE9mKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS01LmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LTYuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LTYuanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS02LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQy
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNC05
LTYiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4x
NC8xNS40LjQuMTQtOS02LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5p
bmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXgobnVsbCkiLA0KLQ0KLXRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVy
biBudWxsfX07DQotICB2YXIgX251bGwgPSBudWxsOw0KLSAgdmFyIGEgPSBuZXcgQXJyYXkodHJ1
ZSx1bmRlZmluZWQsMCxmYWxzZSxfbnVsbCwxLCJzdHIiLDAsMSxvYmosdHJ1ZSxmYWxzZSxudWxs
KTsNCi0gIGlmIChhLmluZGV4T2YobnVsbCkgPT09IDQgKSAgLy9hWzRdPV9udWxsDQotICB7DQot
ICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsN
Ci0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTQtOS02IiwKKworcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTYu
anMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIG11c3QgcmV0dXJu
IGNvcnJlY3QgaW5kZXgobnVsbCkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAg
dmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBudWxsfX07CisgIHZhciBfbnVs
bCA9IG51bGw7CisgIHZhciBhID0gbmV3IEFycmF5KHRydWUsdW5kZWZpbmVkLDAsZmFsc2UsX251
bGwsMSwic3RyIiwwLDEsb2JqLHRydWUsZmFsc2UsbnVsbCk7CisgIGlmIChhLmluZGV4T2YobnVs
bCkgPT09IDQgKSAgLy9hWzRdPV9udWxsCisgIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0s
CisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMo
QXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05
LTYuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktNy5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0
LTktNy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LTcuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
NDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUu
NC40LjE0LTktNyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQv
MTUuNC40LjE0LzE1LjQuNC4xNC05LTcuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCAoc2VsZiByZWZlcmVuY2Up
IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBhID0gbmV3IEFycmF5
KDAsMSwyLDMpOyAgDQotICBhWzJdID0gYTsNCi0gIGlmIChhLmluZGV4T2YoYSkgPT09IDIgJiYg
IA0KLSAgICAgIGEuaW5kZXhPZigzKSA9PT0gMyApIA0KLSAgew0KLSAgICByZXR1cm4gdHJ1ZTsN
Ci0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJl
dHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotIH0NCi19KTsNCisvLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsKK2lkOiAiMTUuNC40LjE0LTktNyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtOS03LmpzIiwKKworZGVzY3JpcHRp
b246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChz
ZWxmIHJlZmVyZW5jZSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGEg
PSBuZXcgQXJyYXkoMCwxLDIsMyk7ICAKKyAgYVsyXSA9IGE7CisgIGlmIChhLmluZGV4T2YoYSkg
PT09IDIgJiYgIAorICAgICAgYS5pbmRleE9mKDMpID09PSAzICkgCisgIHsKKyAgICByZXR1cm4g
dHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICBy
ZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworIH0KK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNC05LTcuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktOC5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE0LTktOC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LTguanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggew0KLWlkOiAiMTUuNC40LjE0LTktOCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTguanMiLA0KLQ0KLWRlc2NyaXB0
aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCAo
QXJyYXkpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBiID0gbmV3
IEFycmF5KCIwLDEiKTsgIA0KLSAgdmFyIGEgPSBuZXcgQXJyYXkoMCxiLCIwLDEiLDMpOyAgDQot
ICBpZiAoYS5pbmRleE9mKGIudG9TdHJpbmcoKSkgPT09IDIgJiYgIA0KLSAgICAgIGEuaW5kZXhP
ZigiMCwxIikgPT09IDIgKSANCi0gIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQot
DQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMo
QXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDog
IjE1LjQuNC4xNC05LTgiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQu
NC8xNS40LjQuMTQvMTUuNC40LjE0LTktOC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCAoQXJyYXkpIiwKKwordGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBiID0gbmV3IEFycmF5KCIwLDEiKTsgIAor
ICB2YXIgYSA9IG5ldyBBcnJheSgwLGIsIjAsMSIsMyk7ICAKKyAgaWYgKGEuaW5kZXhPZihiLnRv
U3RyaW5nKCkpID09PSAyICYmICAKKyAgICAgIGEuaW5kZXhPZigiMCwxIikgPT09IDIgKSAKKyAg
eworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7Cisg
fQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktOC5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTQtOS05LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS05LmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0
LTktOS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NiArMSw0NiBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTQtOS05IiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktOS5qcyIs
DQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBj
b3JyZWN0IGluZGV4IChTcGFyc2UgQXJyYXkpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsNCi0gIHZhciBhID0gbmV3IEFycmF5KDAsMSk7ICANCi0gIGFbNDI5NDk2NzI5NF0gPSAy
OyAgICAgICAgICAvLyAyXjMyLTIgLSBpcyBtYXggYXJyYXkgZWxlbWVudA0KLSAgYVs0Mjk0OTY3
Mjk1XSA9IDM7ICAgICAgICAgIC8vIDJeMzItMSBhZGRlZCBhcyBub24tYXJyYXkgZWxlbWVudCBw
cm9wZXJ0eQ0KLSAgYVs0Mjk0OTY3Mjk2XSA9IDQ7ICAgICAgICAgIC8vIDJeMzIgICBhZGRlZCBh
cyBub24tYXJyYXkgZWxlbWVudCBwcm9wZXJ0eQ0KLSAgYVs0Mjk0OTY3Mjk3XSA9IDU7ICAgICAg
ICAgIC8vIDJeMzIrMSBhZGRlZCBhcyBub24tYXJyYXkgZWxlbWVudCBwcm9wZXJ0eQ0KLQ0KLSAg
Ly8gc3RhcnQgc2VhcmNoaW5nIG5lYXIgdGhlIGVuZCBzbyBpbiBjYXNlIGltcGxlbWVudGF0aW9u
IGFjdHVhbGx5IHRyaWVzIHRvIHRlc3QgYWxsIG1pc3NpbmcgZWxlbWVudHMhIQ0KLSAgcmV0dXJu
IChhLmluZGV4T2YoMiw0Mjk0OTY3MjkwICkgPT09IDQyOTQ5NjcyOTQgJiYgICAgDQotICAgICAg
YS5pbmRleE9mKDMsNDI5NDk2NzI5MCkgPT09IC0xICYmICAgDQotICAgICAgYS5pbmRleE9mKDQs
NDI5NDk2NzI5MCkgPT09IC0xICYmICANCi0gICAgICBhLmluZGV4T2YoNSw0Mjk0OTY3MjkwKSA9
PT0gLTEgICApIDsNCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsN
Ci0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotIH0NCi19KTsN
CisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE0LTktOSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtOS05LmpzIiwKKworZGVz
Y3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGlu
ZGV4IChTcGFyc2UgQXJyYXkpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZh
ciBhID0gbmV3IEFycmF5KDAsMSk7ICAKKyAgYVs0Mjk0OTY3Mjk0XSA9IDI7ICAgICAgICAgIC8v
IDJeMzItMiAtIGlzIG1heCBhcnJheSBlbGVtZW50CisgIGFbNDI5NDk2NzI5NV0gPSAzOyAgICAg
ICAgICAvLyAyXjMyLTEgYWRkZWQgYXMgbm9uLWFycmF5IGVsZW1lbnQgcHJvcGVydHkKKyAgYVs0
Mjk0OTY3Mjk2XSA9IDQ7ICAgICAgICAgIC8vIDJeMzIgICBhZGRlZCBhcyBub24tYXJyYXkgZWxl
bWVudCBwcm9wZXJ0eQorICBhWzQyOTQ5NjcyOTddID0gNTsgICAgICAgICAgLy8gMl4zMisxIGFk
ZGVkIGFzIG5vbi1hcnJheSBlbGVtZW50IHByb3BlcnR5CisKKyAgLy8gc3RhcnQgc2VhcmNoaW5n
IG5lYXIgdGhlIGVuZCBzbyBpbiBjYXNlIGltcGxlbWVudGF0aW9uIGFjdHVhbGx5IHRyaWVzIHRv
IHRlc3QgYWxsIG1pc3NpbmcgZWxlbWVudHMhIQorICByZXR1cm4gKGEuaW5kZXhPZigyLDQyOTQ5
NjcyOTAgKSA9PT0gNDI5NDk2NzI5NCAmJiAgICAKKyAgICAgIGEuaW5kZXhPZigzLDQyOTQ5Njcy
OTApID09PSAtMSAmJiAgIAorICAgICAgYS5pbmRleE9mKDQsNDI5NDk2NzI5MCkgPT09IC0xICYm
ICAKKyAgICAgIGEuaW5kZXhPZig1LDQyOTQ5NjcyOTApID09PSAtMSAgICkgOworIH0sCisKK3By
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLmluZGV4T2YpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LTkuanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYS0xLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1h
LTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1hLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
NDkgKzEsNDkgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6
ICIxNS40LjQuMTQtOS1hLTEiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYS0xLmpzIiwNCi0NCi0gICAgZGVzY3Jp
cHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHRlc3QgdGhhdCBhZGRlZCBwcm9wZXJ0
aWVzIG9mIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgYXJyID0geyB9Ow0KLQ0KLSAgICAgICAgT2Jq
ZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCi0gICAgICAgICAgICBnZXQ6IGZ1
bmN0aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgYXJyWzJdID0gImxlbmd0aCI7DQotICAgICAg
ICAgICAgICAgIHJldHVybiAzOw0KLSAgICAgICAgICAgIH0sDQotICAgICAgICAgICAgY29uZmln
dXJhYmxlOiB0cnVlDQotICAgICAgICB9KTsNCi0NCi0gICAgICAgIHJldHVybiAyID09PSBBcnJh
eS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyciwgImxlbmd0aCIpOw0KLSAgICB9LA0KLQ0KLSAg
ICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4
aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVBy
b3BlcnR5KTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40
LjE0LTktYS0xIiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40
LzE1LjQuNC4xNC8xNS40LjQuMTQtOS1hLTEuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJh
eS5wcm90b3R5cGUuaW5kZXhPZiAtIHRlc3QgdGhhdCBhZGRlZCBwcm9wZXJ0aWVzIG9mIHN0ZXAg
MiBhcmUgdmlzaWJsZSBoZXJlIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewor
CisgICAgICAgIHZhciBhcnIgPSB7IH07CisKKyAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5
KGFyciwgImxlbmd0aCIsIHsKKyAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeworICAgICAg
ICAgICAgICAgIGFyclsyXSA9ICJsZW5ndGgiOworICAgICAgICAgICAgICAgIHJldHVybiAzOwor
ICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQorICAgICAgICB9
KTsKKworICAgICAgICByZXR1cm4gMiA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChh
cnIsICJsZW5ndGgiKTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZikg
JiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKKyAgICB9CisKK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNC05LWEtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMj
IC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1h
LTExLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1hLTExLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYS0x
MS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1NiArMSw1NiBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNC05LWEtMTEiLA0KLQ0KLSAgICBw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0
LTktYS0xMS5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4
T2YgLSB0ZXN0IHRoYXQgZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBpdCBub3QgdG8gYmUg
dmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3RoOiAyIH07DQotDQot
ICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCi0gICAgICAgICAgICBn
ZXQ6IGZ1bmN0aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQotICAgICAg
ICAgICAgfSwNCi0gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCi0gICAgICAgIH0pOw0K
LQ0KLSAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQotICAgICAgICAg
ICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQotICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQot
ICAgICAgICAgICAgICAgIHJldHVybiAwOw0KLSAgICAgICAgICAgIH0sDQotICAgICAgICAgICAg
Y29uZmlndXJhYmxlOiB0cnVlDQotICAgICAgICB9KTsNCi0NCi0gICAgICAgIHJldHVybiAtMSA9
PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcnIsIDYuOTkpOw0KLSAgICB9LA0KLQ0K
LSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IK
Ky8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUu
NC40LjE0LTktYS0xMSIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1
LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYS0xMS5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjog
IkFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gdGVzdCB0aGF0IGRlbGV0aW5nIG93biBwcm9wZXJ0
eSBjYXVzZXMgaXQgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAor
CisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgdmFyIGFyciA9IHsg
bGVuZ3RoOiAyIH07CisKKyAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7
CisgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4g
Ni45OTsKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKKyAg
ICAgICAgfSk7CisKKyAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7Cisg
ICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICBkZWxldGUgYXJy
WzFdOworICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgfSwKKyAgICAgICAg
ICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQorICAgICAgICB9KTsKKworICAgICAgICByZXR1cm4gLTEg
PT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYXJyLCA2Ljk5KTsKKyAgICB9LAorCisg
ICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4
aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVBy
b3BlcnR5KTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWEtMTEuanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYS0xMi5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYS0x
Mi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWEtMTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
NTYgKzEsNTYgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6
ICIxNS40LjQuMTQtOS1hLTEyIiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTIuanMiLA0KLQ0KLSAgICBkZXNj
cmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gdGVzdCB0aGF0IGRlbGV0aW5nIG93
biBwcm9wZXJ0eSBjYXVzZXMgaXQgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkiLA0KLQ0K
LSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciBhcnIgPSBb
MSwgMl07DQotDQotICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCi0g
ICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgcmV0dXJuICI2
Ljk5IjsNCi0gICAgICAgICAgICB9LA0KLSAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0K
LSAgICAgICAgfSk7DQotDQotICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIs
IHsNCi0gICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgZGVs
ZXRlIGFyclsxXTsNCi0gICAgICAgICAgICAgICAgcmV0dXJuIDA7DQotICAgICAgICAgICAgfSwN
Ci0gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCi0gICAgICAgIH0pOw0KLQ0KLSAgICAg
ICAgcmV0dXJuIC0xID09PSBhcnIuaW5kZXhPZigiNi45OSIpOw0KLSAgICB9LA0KLQ0KLSAgICBw
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0
cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3Bl
cnR5KTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE0
LTktYS0xMiIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMTQvMTUuNC40LjE0LTktYS0xMi5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5pbmRleE9mIC0gdGVzdCB0aGF0IGRlbGV0aW5nIG93biBwcm9wZXJ0eSBjYXVz
ZXMgaXQgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkiLAorCisgICAgdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgdmFyIGFyciA9IFsxLCAyXTsKKworICAgICAgICBP
YmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsKKyAgICAgICAgICAgIGdldDogZnVuY3Rp
b24gKCkgeworICAgICAgICAgICAgICAgIHJldHVybiAiNi45OSI7CisgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCisgICAgICAgIH0pOworCisgICAgICAgIE9i
amVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgeworICAgICAgICAgICAgZ2V0OiBmdW5jdGlv
biAoKSB7CisgICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gMDsKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUK
KyAgICAgICAgfSk7CisKKyAgICAgICAgcmV0dXJuIC0xID09PSBhcnIuaW5kZXhPZigiNi45OSIp
OworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAg
ICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKSAmJiBmbkV4aXN0cyhP
YmplY3QuZGVmaW5lUHJvcGVydHkpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0
LTktYS0xMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMK
K0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1hLTIuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNC05LWEtMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWEtMi5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSw0OSArMSw0OSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
DQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQot
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0K
LQ0KLSAgICBpZDogIjE1LjQuNC4xNC05LWEtMiIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtOS1hLTIuanMiLA0KLQ0K
LSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gdGVzdCB0aGF0IGFk
ZGVkIHByb3BlcnRpZXMgb2Ygc3RlcCA1IGFyZSB2aXNpYmxlIGhlcmUgb24gYW4gQXJyYXktbGlr
ZSBvYmplY3QiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAg
ICAgIHZhciBhcnIgPSB7IGxlbmd0aDogMzAgfTsNCi0gICAgICAgIHZhciB0YXJnZXRPYmogPSBm
dW5jdGlvbiAoKSB7IH07DQotDQotICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KLSAgICAgICAg
ICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgYXJyWzRdID0gdGFy
Z2V0T2JqOw0KLSAgICAgICAgICAgICAgICByZXR1cm4gMzsNCi0gICAgICAgICAgICB9DQotICAg
ICAgICB9Ow0KLSAgICAgICAgDQotICAgICAgICByZXR1cm4gNCA9PT0gQXJyYXkucHJvdG90eXBl
LmluZGV4T2YuY2FsbChhcnIsIHRhcmdldE9iaiwgZnJvbUluZGV4KTsNCi0gICAgfSwNCi0NCi0g
ICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5F
eGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQtOS1hLTIiLAorCisgICAgcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMi5qcyIsCisK
KyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gdGVzdCB0aGF0IGFk
ZGVkIHByb3BlcnRpZXMgb2Ygc3RlcCA1IGFyZSB2aXNpYmxlIGhlcmUgb24gYW4gQXJyYXktbGlr
ZSBvYmplY3QiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAg
dmFyIGFyciA9IHsgbGVuZ3RoOiAzMCB9OworICAgICAgICB2YXIgdGFyZ2V0T2JqID0gZnVuY3Rp
b24gKCkgeyB9OworCisgICAgICAgIHZhciBmcm9tSW5kZXggPSB7CisgICAgICAgICAgICB2YWx1
ZU9mOiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgYXJyWzRdID0gdGFyZ2V0T2JqOwor
ICAgICAgICAgICAgICAgIHJldHVybiAzOworICAgICAgICAgICAgfQorICAgICAgICB9OworICAg
ICAgICAKKyAgICAgICAgcmV0dXJuIDQgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwo
YXJyLCB0YXJnZXRPYmosIGZyb21JbmRleCk7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90
eXBlLmluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYS0yLmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWEtMy5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTkt
YS0zLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYS0zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDUwICsxLDUwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4N
Ci0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlk
OiAiMTUuNC40LjE0LTktYS0zIiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMy5qcyIsDQotDQotICAgIGRlc2Ny
aXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB0ZXN0IHRoYXQgYWRkZWQgcHJvcGVy
dGllcyBvZiBzdGVwIDUgYXJlIHZpc2libGUgaGVyZSBvbiBhbiBBcnJheSIsDQotDQotICAgIHRl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgdmFyIGFyciA9IFtdOw0KLSAg
ICAgICAgYXJyLmxlbmd0aCA9IDMwOw0KLSAgICAgICAgdmFyIHRhcmdldE9iaiA9IGZ1bmN0aW9u
ICgpIHsgfTsNCi0NCi0gICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQotICAgICAgICAgICAgdmFs
dWVPZjogZnVuY3Rpb24gKCkgew0KLSAgICAgICAgICAgICAgICBhcnJbNF0gPSB0YXJnZXRPYmo7
DQotICAgICAgICAgICAgICAgIHJldHVybiAzOw0KLSAgICAgICAgICAgIH0NCi0gICAgICAgIH07
DQotDQotICAgICAgICByZXR1cm4gNCA9PT0gYXJyLmluZGV4T2YodGFyZ2V0T2JqLCBmcm9tSW5k
ZXgpOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsN
Ci0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotICAg
IH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNC05LWEtMyIsCisK
KyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUu
NC40LjE0LTktYS0zLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmlu
ZGV4T2YgLSB0ZXN0IHRoYXQgYWRkZWQgcHJvcGVydGllcyBvZiBzdGVwIDUgYXJlIHZpc2libGUg
aGVyZSBvbiBhbiBBcnJheSIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKwor
ICAgICAgICB2YXIgYXJyID0gW107CisgICAgICAgIGFyci5sZW5ndGggPSAzMDsKKyAgICAgICAg
dmFyIHRhcmdldE9iaiA9IGZ1bmN0aW9uICgpIHsgfTsKKworICAgICAgICB2YXIgZnJvbUluZGV4
ID0geworICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAg
IGFycls0XSA9IHRhcmdldE9iajsKKyAgICAgICAgICAgICAgICByZXR1cm4gMzsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfTsKKworICAgICAgICByZXR1cm4gNCA9PT0gYXJyLmluZGV4T2YodGFy
Z2V0T2JqLCBmcm9tSW5kZXgpOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRl
eE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWEtMy5qcwpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1hLTQuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWEtNC5qcwko
cmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNC05LWEtNC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0OSArMSw0
OSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8v
IA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQot
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0v
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0K
LS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQu
NC4xNC05LWEtNCIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUu
NC40LzE1LjQuNC4xNC8xNS40LjQuMTQtOS1hLTQuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjog
IkFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gdGVzdCB0aGF0IGRlbGV0ZWQgcHJvcGVydGllcyBv
ZiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZSIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgew0KLQ0KLSAgICAgICAgdmFyIGFyciA9IHsgMjogNi45OSB9Ow0KLQ0KLSAgICAgICAg
T2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCi0gICAgICAgICAgICBnZXQ6
IGZ1bmN0aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgZGVsZXRlIGFyclsyXTsNCi0gICAgICAg
ICAgICAgICAgcmV0dXJuIDM7DQotICAgICAgICAgICAgfSwNCi0gICAgICAgICAgICBjb25maWd1
cmFibGU6IHRydWUNCi0gICAgICAgIH0pOw0KLQ0KLSAgICAgICAgcmV0dXJuIC0xID09PSBBcnJh
eS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyciwgNi45OSk7DQotICAgIH0sDQotDQotICAgIHBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3Rz
KEFycmF5LnByb3RvdHlwZS5pbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVy
dHkpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQt
OS1hLTQiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjE0LzE1LjQuNC4xNC05LWEtNC5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnBy
b3RvdHlwZS5pbmRleE9mIC0gdGVzdCB0aGF0IGRlbGV0ZWQgcHJvcGVydGllcyBvZiBzdGVwIDIg
YXJlIHZpc2libGUgaGVyZSIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKwor
ICAgICAgICB2YXIgYXJyID0geyAyOiA2Ljk5IH07CisKKyAgICAgICAgT2JqZWN0LmRlZmluZVBy
b3BlcnR5KGFyciwgImxlbmd0aCIsIHsKKyAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewor
ICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMl07CisgICAgICAgICAgICAgICAgcmV0dXJuIDM7
CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCisgICAgICAg
IH0pOworCisgICAgICAgIHJldHVybiAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2Fs
bChhcnIsIDYuOTkpOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKSAm
JiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOworICAgIH0KKworfSk7CgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE0LTktYS00LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMg
LTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWEt
NS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE0LTktYS01LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYS01Lmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ4ICsxLDQ4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTktYS01IiwNCi0NCi0gICAgcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEt
NS5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB0
ZXN0IHRoYXQgZGVsZXRlZCBwcm9wZXJ0aWVzIG9mIHN0ZXAgNSBhcmUgdmlzaWJsZSBoZXJlIG9u
IGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotDQotICAgICAgICB2YXIgYXJyID0geyAxMDogZmFsc2UsIGxlbmd0aDogMzAgfTsNCi0N
Ci0gICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQotICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rp
b24gKCkgew0KLSAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzEwXTsNCi0gICAgICAgICAgICAg
ICAgcmV0dXJuIDM7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgfTsNCi0NCi0gICAgICAgIHJl
dHVybiAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcnIsIGZhbHNlLCBmcm9t
SW5kZXgpOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQot
ICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8K
Ky8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAK
Ky8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKwor
CitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNC05LWEtNSIs
CisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQv
MTUuNC40LjE0LTktYS01LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBl
LmluZGV4T2YgLSB0ZXN0IHRoYXQgZGVsZXRlZCBwcm9wZXJ0aWVzIG9mIHN0ZXAgNSBhcmUgdmlz
aWJsZSBoZXJlIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworCisgICAgICAgIHZhciBhcnIgPSB7IDEwOiBmYWxzZSwgbGVuZ3RoOiAz
MCB9OworCisgICAgICAgIHZhciBmcm9tSW5kZXggPSB7CisgICAgICAgICAgICB2YWx1ZU9mOiBm
dW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxMF07CisgICAgICAgICAg
ICAgICAgcmV0dXJuIDM7CisgICAgICAgICAgICB9CisgICAgICAgIH07CisKKyAgICAgICAgcmV0
dXJuIC0xID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyciwgZmFsc2UsIGZyb21J
bmRleCk7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewor
ICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworICAgIH0K
KworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYS01LmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNC05LWEtNi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYS02LmpzCShyZXZpc2lvbiAxOTk1
NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE0LTktYS02LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUwICsxLDUwIEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1F
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTktYS02IiwN
Ci0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0
LzE1LjQuNC4xNC05LWEtNi5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90
eXBlLmluZGV4T2YgLSB0ZXN0IHRoYXQgZGVsZXRlZCBwcm9wZXJ0aWVzIG9mIHN0ZXAgNSBhcmUg
dmlzaWJsZSBoZXJlIG9uIGFuIEFycmF5IiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7DQotDQotICAgICAgICB2YXIgYXJyID0gW107DQotICAgICAgICBhcnJbMTBdID0gIjEw
IjsNCi0gICAgICAgIGFyci5sZW5ndGggPSAyMDsNCi0NCi0gICAgICAgIHZhciBmcm9tSW5kZXgg
PSB7DQotICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KLSAgICAgICAgICAgICAg
ICBkZWxldGUgYXJyWzEwXTsNCi0gICAgICAgICAgICAgICAgcmV0dXJuIDM7DQotICAgICAgICAg
ICAgfQ0KLSAgICAgICAgfTsNCi0NCi0gICAgICAgIHJldHVybiAtMSA9PT0gYXJyLmluZGV4T2Yo
IjEwIiwgZnJvbUluZGV4KTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmlu
ZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQu
MTQtOS1hLTYiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQv
MTUuNC40LjE0LzE1LjQuNC4xNC05LWEtNi5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5pbmRleE9mIC0gdGVzdCB0aGF0IGRlbGV0ZWQgcHJvcGVydGllcyBvZiBzdGVw
IDUgYXJlIHZpc2libGUgaGVyZSBvbiBhbiBBcnJheSIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIgYXJyID0gW107CisgICAgICAgIGFyclsxMF0gPSAi
MTAiOworICAgICAgICBhcnIubGVuZ3RoID0gMjA7CisKKyAgICAgICAgdmFyIGZyb21JbmRleCA9
IHsKKyAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICBk
ZWxldGUgYXJyWzEwXTsKKyAgICAgICAgICAgICAgICByZXR1cm4gMzsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfTsKKworICAgICAgICByZXR1cm4gLTEgPT09IGFyci5pbmRleE9mKCIxMCIsIGZy
b21JbmRleCk7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
eworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworICAg
IH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYS02LmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNC05LWItMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYi0xLmpzCShyZXZpc2lvbiAx
OTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE0LTktYi0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5IEBACi0vLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
Rg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0N
Ci1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTktYi0x
IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40
LjE0LzE1LjQuNC4xNC05LWItMS5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmluZGV4T2YgLSBub24tZXhpc3RhbnQgcHJvcGVydHkgd291bGRuJ3QgYmUgY2FsbGVk
IiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICByZXR1
cm4gWzAsICwgMl0uaW5kZXhPZih1bmRlZmluZWQpID09PSAtMTsNCi0gICAgfSwNCi0NCi0gICAg
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
eworCisgICAgaWQ6ICIxNS40LjQuMTQtOS1iLTEiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItMS5qcyIsCisKKyAg
ICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gbm9uLWV4aXN0YW50IHBy
b3BlcnR5IHdvdWxkbid0IGJlIGNhbGxlZCIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKworICAgICAgICByZXR1cm4gWzAsICwgMl0uaW5kZXhPZih1bmRlZmluZWQpID09PSAt
MTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAg
ICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7CisgICAgfQorCit9
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLTEuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE0LTktYi01LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLTUuanMJKHJldmlzaW9uIDE5OTU0OSkK
KysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTQtOS1iLTUuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTMgKzEsNTMgQEAKLS8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0K
LS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTQtOS1iLTUiLA0KLQ0K
LSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUu
NC40LjE0LTktYi01LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUu
aW5kZXhPZiAtIERlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBj
YXVzZXMgaXQgdG8gYmUgdmlzaXRlZCIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgew0KLQ0KLSAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCi0gICAgICAgIE9iamVjdC5k
ZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KLSAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkg
ew0KLSAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KLSAgICAgICAgICAgICAgICByZXR1
cm4gMDsNCi0gICAgICAgICAgICB9LA0KLSAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0K
LSAgICAgICAgfSk7DQotDQotICAgICAgICB0cnkgew0KLSAgICAgICAgICAgIEFycmF5LnByb3Rv
dHlwZVsxXSA9IDE7DQotICAgICAgICAgICAgcmV0dXJuIDEgPT09IGFyci5pbmRleE9mKDEpOw0K
LSAgICAgICAgfSBmaW5hbGx5IHsNCi0gICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBl
WzFdOw0KLSAgICAgICAgfQ0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5k
ZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsNCi0gICAgfQ0KLQ0KLX0p
Ow0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAor
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisv
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE0LTktYi01IiwKKworICAgIHBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtOS1i
LTUuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIERl
bGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgaXQgdG8g
YmUgdmlzaXRlZCIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAg
ICB2YXIgYXJyID0gWzAsIDEsIDJdOworICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJy
LCAiMCIsIHsKKyAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAg
IGRlbGV0ZSBhcnJbMV07CisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICB9
LAorICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCisgICAgICAgIH0pOworCisgICAgICAg
IHRyeSB7CisgICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOworICAgICAgICAgICAg
cmV0dXJuIDEgPT09IGFyci5pbmRleE9mKDEpOworICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsKKyAgICAgICAgfQorICAgIH0sCisKKyAg
ICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhp
c3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJv
cGVydHkpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYi01LmpzCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaS0xLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWkt
MS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaS0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQxICsxLDQxIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4N
Ci0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlk
OiAiMTUuNC40LjE0LTktYi1pLTEiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTEuanMiLA0KLQ0KLSAgICBk
ZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gZWxlbWVudCB0byBiZSBy
ZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLA0K
LQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gICAgICAgIHZhciBvYmogPSB7
IDA6IDAsIDE6IDEsIDI6IDIsIGxlbmd0aDogMyB9Ow0KLSAgICAgICAgcmV0dXJuIEFycmF5LnBy
b3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAwKSA9PT0gMCAmJg0KLSAgICAgICAgICAgIEFycmF5
LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAxKSA9PT0gMSAmJg0KLSAgICAgICAgICAgIEFy
cmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAyKSA9PT0gMjsNCi0gICAgfSwNCi0NCi0g
ICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5F
eGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQtOS1iLWktMSIsCisKKyAgICBwYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTEuanMi
LAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIGVsZW1l
bnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ug
b2JqZWN0IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgICAgICB2YXIg
b2JqID0geyAwOiAwLCAxOiAxLCAyOiAyLCBsZW5ndGg6IDMgfTsKKyAgICAgICAgcmV0dXJuIEFy
cmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAwKSA9PT0gMCAmJgorICAgICAgICAgICAg
QXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDEpID09PSAxICYmCisgICAgICAgICAg
ICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMikgPT09IDI7CisgICAgfSwKKwor
ICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5F
eGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE0LTktYi1pLTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYi1p
LTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNC05LWItaS0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYi1p
LTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDAgKzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTQtOS1iLWktMiIsDQotDQotICAg
IHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQu
MTQtOS1iLWktMi5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmlu
ZGV4T2Ygd2hlbiBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBv
biBhbiBBcnJheSIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgICAg
ICAgcmV0dXJuIFt0cnVlLCB0cnVlLCB0cnVlXS5pbmRleE9mKHRydWUpID09PSAwICYmDQotICAg
ICAgICAgICAgW2ZhbHNlLCB0cnVlLCB0cnVlXS5pbmRleE9mKHRydWUpID09PSAxICYmDQotICAg
ICAgICAgICAgW2ZhbHNlLCBmYWxzZSwgdHJ1ZV0uaW5kZXhPZih0cnVlKSA9PT0gMjsNCi0gICAg
fSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICBy
ZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7
DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisv
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQtOS1iLWktMiIsCisKKyAgICBwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTkt
Yi1pLTIuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3
aGVuIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFy
cmF5IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgICAgICByZXR1cm4g
W3RydWUsIHRydWUsIHRydWVdLmluZGV4T2YodHJ1ZSkgPT09IDAgJiYKKyAgICAgICAgICAgIFtm
YWxzZSwgdHJ1ZSwgdHJ1ZV0uaW5kZXhPZih0cnVlKSA9PT0gMSAmJgorICAgICAgICAgICAgW2Zh
bHNlLCBmYWxzZSwgdHJ1ZV0uaW5kZXhPZih0cnVlKSA9PT0gMjsKKyAgICB9LAorCisgICAgcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhB
cnJheS5wcm90b3R5cGUuaW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTQtOS1iLWktMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWktMjQuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNC05LWItaS0yNC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaS0yNC5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw1MyArMSw1MyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdp
c3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNC05LWItaS0yNCIsDQotDQotICAgIHBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQt
OS1iLWktMjQuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRl
eE9mIHdoZW4gdG8gYmUgdmlzaXRlZCBpcyB0aGUgZG9jdW1lbnQgaG9zdCBvYmplY3QiLA0KLQ0K
LSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciB0YXJnZXRP
YmogPSB7fTsNCi0gICAgICAgIHRyeSB7DQotICAgICAgICAgICAgZG9jdW1lbnRbMF0gPSB0YXJn
ZXRPYmo7DQotICAgICAgICAgICAgZG9jdW1lbnRbMTAwXSA9ICIxMDAiOw0KLSAgICAgICAgICAg
IGRvY3VtZW50WzIwMF0gPSAiMjAwIjsNCi0gICAgICAgICAgICBkb2N1bWVudC5sZW5ndGggPSAy
MDA7DQotICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNh
bGwoZG9jdW1lbnQsIHRhcmdldE9iaikgJiYNCi0gICAgICAgICAgICAgICAgMTAwID09PSBBcnJh
eS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGRvY3VtZW50LCAiMTAwIikgJiYNCi0gICAgICAgICAg
ICAgICAgLTEgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoZG9jdW1lbnQsICIyMDAi
KTsNCi0gICAgICAgIH0gZmluYWxseSB7DQotICAgICAgICAgICAgZGVsZXRlIGRvY3VtZW50WzBd
Ow0KLSAgICAgICAgICAgIGRlbGV0ZSBkb2N1bWVudFsxMDBdOw0KLSAgICAgICAgICAgIGRlbGV0
ZSBkb2N1bWVudFsyMDBdOw0KLSAgICAgICAgICAgIGRlbGV0ZSBkb2N1bWVudC5sZW5ndGg7DQot
ICAgICAgICB9DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsN
Ci0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8v
IAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE0LTktYi1p
LTI0IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQu
NC4xNC8xNS40LjQuMTQtOS1iLWktMjQuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUuaW5kZXhPZiB3aGVuIHRvIGJlIHZpc2l0ZWQgaXMgdGhlIGRvY3VtZW50IGhvc3Qg
b2JqZWN0IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHZh
ciB0YXJnZXRPYmogPSB7fTsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIGRvY3VtZW50WzBd
ID0gdGFyZ2V0T2JqOworICAgICAgICAgICAgZG9jdW1lbnRbMTAwXSA9ICIxMDAiOworICAgICAg
ICAgICAgZG9jdW1lbnRbMjAwXSA9ICIyMDAiOworICAgICAgICAgICAgZG9jdW1lbnQubGVuZ3Ro
ID0gMjAwOworICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9m
LmNhbGwoZG9jdW1lbnQsIHRhcmdldE9iaikgJiYKKyAgICAgICAgICAgICAgICAxMDAgPT09IEFy
cmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoZG9jdW1lbnQsICIxMDAiKSAmJgorICAgICAgICAg
ICAgICAgIC0xID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGRvY3VtZW50LCAiMjAw
Iik7CisgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICBkZWxldGUgZG9jdW1lbnRbMF07
CisgICAgICAgICAgICBkZWxldGUgZG9jdW1lbnRbMTAwXTsKKyAgICAgICAgICAgIGRlbGV0ZSBk
b2N1bWVudFsyMDBdOworICAgICAgICAgICAgZGVsZXRlIGRvY3VtZW50Lmxlbmd0aDsKKyAgICAg
ICAgfQorICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAg
ICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsKKyAgICB9CisK
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaS0yNC5qcwpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTQtOS1iLWktMjUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaS0yNS5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNC05LWItaS0yNS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NSArMSw0NSBA
QAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0K
LS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
DQotDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQu
NC4xNC05LWItaS0yNSIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtOS1iLWktMjUuanMiLA0KLQ0KLSAgICBkZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gQXJndW1lbnRzIG9iamVj
dCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9m
IGFyZ3VtZW50cyBpcyBsZXNzIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpIiwNCi0NCi0gICAg
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0
aW9uKGEsIGIpIHsNCi0gICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmlu
ZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1swXSkgJiYNCi0gICAgICAgICAgICAtMSA9
PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1sxXSk7
DQotICAgICAgICB9DQotDQotICAgICAgICByZXR1cm4gZnVuYyh0cnVlKTsNCi0gICAgfSwNCi0N
Ci0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4g
Zm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
Ky8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworCitFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNC05LWItaS0yNSIsCisKKyAgICBwYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1p
LTI1LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBw
bGllZCB0byBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0
eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGxlc3MgdGhhbiBudW1iZXIgb2Yg
cGFyYW1ldGVycykiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAg
ICAgdmFyIGZ1bmMgPSBmdW5jdGlvbihhLCBiKSB7CisgICAgICAgICAgICByZXR1cm4gMCA9PT0g
QXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1swXSkgJiYK
KyAgICAgICAgICAgIC0xID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyZ3VtZW50
cywgYXJndW1lbnRzWzFdKTsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBmdW5jKHRydWUp
OworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAg
ICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsKKyAgICB9CisKK30p
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaS0yNS5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTQtOS1iLWktMjYuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaS0yNi5qcwkocmV2aXNpb24g
MTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNC05LWItaS0yNi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NiArMSw0NiBAQAot
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQot
DQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4x
NC05LWItaS0yNiIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUu
NC40LzE1LjQuNC4xNC8xNS40LjQuMTQtOS1iLWktMjYuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlv
bjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gQXJndW1lbnRzIG9iamVjdCB3
aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFy
Z3VtZW50cyBlcXVhbHMgdG8gbnVtYmVyIG9mIHBhcmFtZXRlcnMpIiwNCi0NCi0gICAgdGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uKGEs
IGIpIHsNCi0gICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2Yu
Y2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1swXSkgJiYNCi0gICAgICAgICAgICAxID09PSBBcnJh
eS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzFdKSAmJg0KLSAg
ICAgICAgICAgIC0xID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyZ3VtZW50cywg
YXJndW1lbnRzWzJdKTsNCi0gICAgICAgIH0NCi0NCi0gICAgICAgIHJldHVybiBmdW5jKDAsIHRy
dWUpOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsN
Ci0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotICAg
IH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE0LTktYi1pLTI2
IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4x
NC8xNS40LjQuMTQtOS1iLWktMjYuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90
b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50
cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgZXF1YWxz
IHRvIG51bWJlciBvZiBwYXJhbWV0ZXJzKSIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKworICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uKGEsIGIpIHsKKyAgICAgICAgICAg
IHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJn
dW1lbnRzWzBdKSAmJgorICAgICAgICAgICAgMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2Yu
Y2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1sxXSkgJiYKKyAgICAgICAgICAgIC0xID09PSBBcnJh
eS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzJdKTsKKyAgICAg
ICAgfQorCisgICAgICAgIHJldHVybiBmdW5jKDAsIHRydWUpOworICAgIH0sCisKKyAgICBwcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFy
cmF5LnByb3RvdHlwZS5pbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NC05LWItaS0yNi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWktMjcuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNC05LWItaS0yNy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaS0yNy5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw0NiArMSw0NiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotDQotRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNC05LWItaS0yNyIsDQotDQotICAg
IHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQu
MTQtOS1iLWktMjcuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5p
bmRleE9mIGFwcGxpZWQgdG8gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBv
d24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBncmVhdGVyIHRo
YW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7DQotDQotICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uKGEsIGIpIHsNCi0gICAgICAg
ICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcmd1bWVudHMs
IGFyZ3VtZW50c1swXSkgJiYNCi0gICAgICAgICAgICAzID09PSBBcnJheS5wcm90b3R5cGUuaW5k
ZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzNdKSAmJg0KLSAgICAgICAgICAgIC0xID09
PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzRdKTsN
Ci0gICAgICAgIH0NCi0NCi0gICAgICAgIHJldHVybiBmdW5jKDAsIGZhbHNlLCAwLCB0cnVlKTsN
Ci0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAg
ICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQot
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworCitFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNC05LWItaS0yNyIsCisK
KyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUu
NC40LjE0LTktYi1pLTI3LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBl
LmluZGV4T2YgYXBwbGllZCB0byBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRz
IG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGdyZWF0ZXIg
dGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7CisKKyAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbihhLCBiKSB7CisgICAgICAgICAg
ICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFy
Z3VtZW50c1swXSkgJiYKKyAgICAgICAgICAgIDMgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9m
LmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbM10pICYmCisgICAgICAgICAgICAtMSA9PT0gQXJy
YXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1s0XSk7CisgICAg
ICAgIH0KKworICAgICAgICByZXR1cm4gZnVuYygwLCBmYWxzZSwgMCwgdHJ1ZSk7CisgICAgfSwK
KworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4g
Zm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE0LTktYi1pLTI3LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05
LWItaS0zLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWktMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05
LWItaS0zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQzICsxLDQzIEBACi0vLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0v
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTktYi1pLTMiLA0KLQ0K
LSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUu
NC40LjE0LTktYi1pLTMuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlw
ZS5pbmRleE9mIHdoZW4gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVy
dHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXki
LA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gICAgICAgIHRyeSB7DQot
ICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gZmFsc2U7DQotICAgICAgICAgICAgcmV0
dXJuIFt0cnVlXS5pbmRleE9mKHRydWUpID09PSAwOw0KLSAgICAgICAgfSBmaW5hbGx5IHsNCi0g
ICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KLSAgICAgICAgfQ0KLSAgICB9
LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJl
dHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsN
CisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNC05LWItaS0zIiwKKworICAgIHBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtOS1i
LWktMy5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdo
ZW4gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVy
cmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkiLAorCisgICAgdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBBcnJh
eS5wcm90b3R5cGVbMF0gPSBmYWxzZTsKKyAgICAgICAgICAgIHJldHVybiBbdHJ1ZV0uaW5kZXhP
Zih0cnVlKSA9PT0gMDsKKyAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgIGRlbGV0ZSBB
cnJheS5wcm90b3R5cGVbMF07CisgICAgICAgIH0KKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90
b3R5cGUuaW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWkt
My5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWktNC5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE0LTktYi1pLTQuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWktNC5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSw0NCArMSw0NCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
DQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQot
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0K
LQ0KLSAgICBpZDogIjE1LjQuNC4xNC05LWItaS00IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS00LmpzIiwN
Ci0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIGVsZW1l
bnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFu
IGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwNCi0NCi0g
ICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB0cnkgew0KLSAgICAg
ICAgICAgIE9iamVjdC5wcm90b3R5cGVbMF0gPSBmYWxzZTsNCi0gICAgICAgICAgICByZXR1cm4g
MCA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh7IDA6IHRydWUsIDE6IDEsIGxlbmd0
aDogMiB9LCB0cnVlKTsNCi0gICAgICAgIH0gZmluYWxseSB7DQotICAgICAgICAgICAgZGVsZXRl
IE9iamVjdC5wcm90b3R5cGVbMF07DQotICAgICAgICB9DQotICAgIH0sDQotDQotICAgIHByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFy
cmF5LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKwor
ICAgIGlkOiAiMTUuNC40LjE0LTktYi1pLTQiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS00LmpzIiwKKworICAg
IGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Ygd2hlbiBlbGVtZW50IHRvIGJl
IHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0
ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCisKKyAgICB0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB0cnkgeworICAgICAgICAgICAgT2JqZWN0
LnByb3RvdHlwZVswXSA9IGZhbHNlOworICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnBy
b3RvdHlwZS5pbmRleE9mLmNhbGwoeyAwOiB0cnVlLCAxOiAxLCBsZW5ndGg6IDIgfSwgdHJ1ZSk7
CisgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlw
ZVswXTsKKyAgICAgICAgfQorICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9m
KTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaS00LmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaS01LmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWktNS5q
cwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaS01LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ4
ICsxLDQ4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAN
Ci0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0v
Ly8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAi
MTUuNC40LjE0LTktYi1pLTUiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTUuanMiLA0KLQ0KLSAgICBkZXNj
cmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gZWxlbWVudCB0byBiZSByZXRy
aWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFj
Y2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5IiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7DQotICAgICAgICB0cnkgew0KLSAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9w
ZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KLSAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0
aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCi0gICAgICAgICAg
ICAgICAgfSwNCi0gICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQotICAgICAgICAg
ICAgfSk7DQotICAgICAgICAgICAgcmV0dXJuIDAgPT09IFt0cnVlXS5pbmRleE9mKHRydWUpOw0K
LSAgICAgICAgfSBmaW5hbGx5IHsNCi0gICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBl
WzBdOw0KLSAgICAgICAgfQ0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5k
ZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsNCi0gICAgfQ0KLQ0KLX0p
Ow0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAor
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisv
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE0LTktYi1pLTUiLAorCisgICAgcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05
LWItaS01LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2Yg
d2hlbiBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92
ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkiLAorCisg
ICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsKKyAgICAgICAg
ICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0
cnVlCisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIHJldHVybiAwID09PSBbdHJ1ZV0uaW5k
ZXhPZih0cnVlKTsKKyAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgIGRlbGV0ZSBBcnJh
eS5wcm90b3R5cGVbMF07CisgICAgICAgIH0KKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUuaW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKKyAgICB9CisK
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaS01LmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNC05LWItaS02LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWktNi5qcwkocmV2aXNpb24g
MTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNC05LWItaS02LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ5ICsxLDQ5IEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTkt
Yi1pLTYiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTYuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFy
cmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3du
IGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3Bl
cnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7DQotDQotICAgICAgICB0cnkgew0KLSAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQ
cm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMCIsIHsNCi0gICAgICAgICAgICAgICAgZ2V0OiBm
dW5jdGlvbiAoKSB7DQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQotICAgICAg
ICAgICAgICAgIH0sDQotICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KLSAgICAg
ICAgICAgIH0pOw0KLSAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUuaW5k
ZXhPZi5jYWxsKHsgMDogdHJ1ZSwgMTogMSwgbGVuZ3RoOiAyIH0sIHRydWUpOw0KLSAgICAgICAg
fSBmaW5hbGx5IHsNCi0gICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsNCi0g
ICAgICAgIH0NCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpICYm
IGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7DQotICAgIH0NCi0NCi19KTsNCisvLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNC05LWItaS02IiwKKworICAgIHBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtOS1iLWktNi5q
cyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gZWxl
bWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMg
YW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwK
KworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjAiLCB7Cisg
ICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgIGNvbmZpZ3Vy
YWJsZTogdHJ1ZQorICAgICAgICAgICAgfSk7CisgICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJy
YXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh7IDA6IHRydWUsIDE6IDEsIGxlbmd0aDogMiB9LCB0
cnVlKTsKKyAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJv
dG90eXBlWzBdOworICAgICAgICB9CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmlu
ZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CisgICAgfQorCit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWktNi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTQtOS1iLWktNy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYi1pLTcuanMJKHJldmlzaW9uIDE5OTU0
OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTQtOS1iLWktNy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0OSArMSw0OSBAQAotLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYN
Ci0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQot
RVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNC05LWItaS03
IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40
LjE0LzE1LjQuNC4xNC05LWItaS03LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUuaW5kZXhPZiB3aGVuIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRl
ZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5IiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7DQotICAgICAgICB0cnkgew0KLSAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsw
XSA9IHRydWU7DQotICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gZmFsc2U7DQotICAg
ICAgICAgICAgQXJyYXkucHJvdG90eXBlWzJdID0gInRydWUiOw0KLSAgICAgICAgICAgIHJldHVy
biAwID09PSBbLCAsICwgXS5pbmRleE9mKHRydWUpICYmDQotICAgICAgICAgICAgICAgIDEgPT09
IFssICwgLCBdLmluZGV4T2YoZmFsc2UpICYmDQotICAgICAgICAgICAgICAgIDIgPT09IFssICwg
LCBdLmluZGV4T2YoInRydWUiKTsNCi0gICAgICAgIH0gZmluYWxseSB7DQotICAgICAgICAgICAg
ZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCi0gICAgICAgICAgICBkZWxldGUgQXJyYXkucHJv
dG90eXBlWzFdOw0KLSAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQotICAg
ICAgICB9DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
ew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKSAmJiAh
WywgMV0uaGFzT3duUHJvcGVydHkoMCk7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisK
KyAgICBpZDogIjE1LjQuNC4xNC05LWItaS03IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtOS1iLWktNy5qcyIsCisKKyAg
ICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gZWxlbWVudCB0byBi
ZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkiLAorCisg
ICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICBBcnJheS5wcm90b3R5cGVbMF0gPSB0cnVlOworICAgICAgICAgICAgQXJyYXkucHJvdG90eXBl
WzFdID0gZmFsc2U7CisgICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMl0gPSAidHJ1ZSI7Cisg
ICAgICAgICAgICByZXR1cm4gMCA9PT0gWywgLCAsIF0uaW5kZXhPZih0cnVlKSAmJgorICAgICAg
ICAgICAgICAgIDEgPT09IFssICwgLCBdLmluZGV4T2YoZmFsc2UpICYmCisgICAgICAgICAgICAg
ICAgMiA9PT0gWywgLCAsIF0uaW5kZXhPZigidHJ1ZSIpOworICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsKKyAgICAgICAgICAgIGRlbGV0
ZSBBcnJheS5wcm90b3R5cGVbMV07CisgICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBl
WzJdOworICAgICAgICB9CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2Yp
ICYmICFbLCAxXS5oYXNPd25Qcm9wZXJ0eSgwKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNC05LWItaS03LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaS04
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTQtOS1iLWktOC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaS04
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUwICsxLDUwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTktYi1pLTgiLA0KLQ0KLSAgICBw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0
LTktYi1pLTguanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRl
eE9mIHdoZW4gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVy
dHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsNCi0NCi0gICAgICAgIHRyeSB7DQotICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlw
ZVswXSA9IHRydWU7DQotICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IGZhbHNlOw0K
LSAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMl0gPSAidHJ1ZSI7DQotICAgICAgICAgICAg
cmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoeyBsZW5ndGg6IDMgfSwg
dHJ1ZSkgJiYNCi0gICAgICAgICAgICAgICAgMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2Yu
Y2FsbCh7IGxlbmd0aDogMyB9LCBmYWxzZSkgJiYNCi0gICAgICAgICAgICAgICAgMiA9PT0gQXJy
YXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCAidHJ1ZSIpOw0KLSAgICAg
ICAgfSBmaW5hbGx5IHsNCi0gICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsN
Ci0gICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCi0gICAgICAgICAgICBk
ZWxldGUgT2JqZWN0LnByb3RvdHlwZVsyXTsNCi0gICAgICAgIH0NCi0gICAgfSwNCi0NCi0gICAg
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
eworCisgICAgaWQ6ICIxNS40LjQuMTQtOS1iLWktOCIsCisKKyAgICBwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTguanMiLAor
CisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIGVsZW1lbnQg
dG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxp
a2Ugb2JqZWN0IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAg
IHRyeSB7CisgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzBdID0gdHJ1ZTsKKyAgICAgICAg
ICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSBmYWxzZTsKKyAgICAgICAgICAgIE9iamVjdC5wcm90
b3R5cGVbMl0gPSAidHJ1ZSI7CisgICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90
eXBlLmluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCB0cnVlKSAmJgorICAgICAgICAgICAgICAg
IDEgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoeyBsZW5ndGg6IDMgfSwgZmFsc2Up
ICYmCisgICAgICAgICAgICAgICAgMiA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh7
IGxlbmd0aDogMyB9LCAidHJ1ZSIpOworICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07CisgICAgICAgICAgICBkZWxldGUgT2JqZWN0LnBy
b3RvdHlwZVsxXTsKKyAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzJdOworICAg
ICAgICB9CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewor
ICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworICAgIH0K
KworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYi1pLTguanMKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE0LTktYi1paS0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWlpLTEuanMJKHJldmlz
aW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTQtOS1iLWlpLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDQgKzEsNDQg
QEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyAN
Ci0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0v
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
Lg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQu
MTQtOS1iLWlpLTEiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1
LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1paS0xLmpzIiwNCi0NCi0gICAgZGVzY3JpcHRp
b246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHR5cGUgb2YgYXJyYXkgZWxlbWVudCBpcyBk
aWZmZXJlbnQgZnJvbSB0eXBlIG9mIHNlYXJjaCBlbGVtZW50IiwNCi0NCi0gICAgdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICByZXR1cm4gWyJ0cnVlIl0uaW5kZXhPZih0
cnVlKSA9PT0gLTEgJiYNCi0gICAgICAgICAgICBbIjAiXS5pbmRleE9mKDApID09PSAtMSAmJg0K
LSAgICAgICAgICAgIFtmYWxzZV0uaW5kZXhPZigwKSA9PT0gLTEgJiYNCi0gICAgICAgICAgICBb
dW5kZWZpbmVkXS5pbmRleE9mKDApID09PSAtMSAmJg0KLSAgICAgICAgICAgIFtudWxsXS5pbmRl
eE9mKDApID09PSAtMSAmJg0KLSAgICAgICAgICAgIFtbXV0uaW5kZXhPZigwKSA9PT0gLTE7DQot
ICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAg
ICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gICAgfQ0KLQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE0LTktYi1paS0xIiwKKworICAg
IHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQu
MTQtOS1iLWlpLTEuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5k
ZXhPZiAtIHR5cGUgb2YgYXJyYXkgZWxlbWVudCBpcyBkaWZmZXJlbnQgZnJvbSB0eXBlIG9mIHNl
YXJjaCBlbGVtZW50IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAg
ICAgIHJldHVybiBbInRydWUiXS5pbmRleE9mKHRydWUpID09PSAtMSAmJgorICAgICAgICAgICAg
WyIwIl0uaW5kZXhPZigwKSA9PT0gLTEgJiYKKyAgICAgICAgICAgIFtmYWxzZV0uaW5kZXhPZigw
KSA9PT0gLTEgJiYKKyAgICAgICAgICAgIFt1bmRlZmluZWRdLmluZGV4T2YoMCkgPT09IC0xICYm
CisgICAgICAgICAgICBbbnVsbF0uaW5kZXhPZigwKSA9PT0gLTEgJiYKKyAgICAgICAgICAgIFtb
XV0uaW5kZXhPZigwKSA9PT0gLTE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmlu
ZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYi1paS0xLmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaWktMTAuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05
LWItaWktMTAuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWlpLTEwLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDM4ICsxLDM4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MN
Ci0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0v
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQot
DQotICAgIGlkOiAiMTUuNC40LjE0LTktYi1paS0xMCIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtOS1iLWlpLTEwLmpz
IiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGJvdGgg
YXJyYXkgZWxlbWVudCBhbmQgc2VhcmNoIGVsZW1lbnQgYXJlIEJvb2xlYW4gdHlwZSwgYW5kIHRo
ZXkgaGF2ZSBzYW1lIHZhbHVlIiwNCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQot
DQotICAgICAgICByZXR1cm4gW2ZhbHNlLCB0cnVlXS5pbmRleE9mKHRydWUpID09PSAxOw0KLSAg
ICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAg
IHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotICAgIH0NCi0NCi19
KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAK
Ky8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNC05LWItaWktMTAiLAorCisgICAg
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4x
NC05LWItaWktMTAuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5k
ZXhPZiAtIGJvdGggYXJyYXkgZWxlbWVudCBhbmQgc2VhcmNoIGVsZW1lbnQgYXJlIEJvb2xlYW4g
dHlwZSwgYW5kIHRoZXkgaGF2ZSBzYW1lIHZhbHVlIiwKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsKKworICAgICAgICByZXR1cm4gW2ZhbHNlLCB0cnVlXS5pbmRleE9mKHRydWUpID09
PSAxOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAg
ICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsKKyAgICB9CisK
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaWktMTAuanMKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE0LTktYi1paS0xMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYi1paS0xMS5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNC05LWItaWktMTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDEgKzEs
NDEgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8v
LyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0K
LS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQot
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyAN
Ci0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40
LjQuMTQtOS1iLWlpLTExIiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktMTEuanMiLA0KLQ0KLSAgICBkZXNj
cmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYm90aCBhcnJheSBlbGVtZW50IGFu
ZCBzZWFyY2ggZWxlbWVudCBhcmUgT2JqZWN0IHR5cGUsIGFuZCB0aGV5IHJlZmVyIHRvIHRoZSBz
YW1lIG9iamVjdCIsDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAg
ICAgdmFyIG9iajEgPSB7fTsNCi0gICAgICAgIHZhciBvYmoyID0ge307DQotICAgICAgICB2YXIg
b2JqMyA9IG9iajI7DQotICAgICAgICByZXR1cm4gW3t9LCBvYmoxLCBvYmoyXS5pbmRleE9mKG9i
ajMpID09PSAyOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7
DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8v
LyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNC05LWIt
aWktMTEiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjE0LzE1LjQuNC4xNC05LWItaWktMTEuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJh
eS5wcm90b3R5cGUuaW5kZXhPZiAtIGJvdGggYXJyYXkgZWxlbWVudCBhbmQgc2VhcmNoIGVsZW1l
bnQgYXJlIE9iamVjdCB0eXBlLCBhbmQgdGhleSByZWZlciB0byB0aGUgc2FtZSBvYmplY3QiLAor
ICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHZhciBvYmoxID0ge307
CisgICAgICAgIHZhciBvYmoyID0ge307CisgICAgICAgIHZhciBvYmozID0gb2JqMjsKKyAgICAg
ICAgcmV0dXJuIFt7fSwgb2JqMSwgb2JqMl0uaW5kZXhPZihvYmozKSA9PT0gMjsKKyAgICB9LAor
CisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTQtOS1iLWlpLTExLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05
LWItaWktMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYi1paS0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0
LTktYi1paS0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5IEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTktYi1paS0yIiwN
Ci0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0
LzE1LjQuNC4xNC05LWItaWktMi5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmluZGV4T2YgLSBib3RoIHR5cGUgb2YgYXJyYXkgZWxlbWVudCBhbmQgdHlwZSBvZiBz
ZWFyY2ggZWxlbWVudCBhcmUgVW5kZWZpbmVkIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7DQotDQotICAgICAgICByZXR1cm4gW3VuZGVmaW5lZF0uaW5kZXhPZigpID09PSAw
ICYmIFt1bmRlZmluZWRdLmluZGV4T2YodW5kZWZpbmVkKSA9PT0gMDsNCi0gICAgfSwNCi0NCi0g
ICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5F
eGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQtOS1iLWlpLTIiLAorCisgICAgcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktMi5q
cyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYm90aCB0
eXBlIG9mIGFycmF5IGVsZW1lbnQgYW5kIHR5cGUgb2Ygc2VhcmNoIGVsZW1lbnQgYXJlIFVuZGVm
aW5lZCIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICByZXR1
cm4gW3VuZGVmaW5lZF0uaW5kZXhPZigpID09PSAwICYmIFt1bmRlZmluZWRdLmluZGV4T2YodW5k
ZWZpbmVkKSA9PT0gMDsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7
CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWlpLTIuanMKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYi1paS0zLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWlpLTMu
anMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWlpLTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
MzkgKzEsMzkgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6
ICIxNS40LjQuMTQtOS1iLWlpLTMiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1paS0zLmpzIiwNCi0NCi0gICAg
ZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGJvdGggdHlwZSBvZiBhcnJh
eSBlbGVtZW50IGFuZCB0eXBlIG9mIHNlYXJjaCBlbGVtZW50IGFyZSBudWxsIiwNCi0NCi0gICAg
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICByZXR1cm4gW251bGxdLmlu
ZGV4T2YobnVsbCkgPT09IDA7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5p
bmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40
LjE0LTktYi1paS0zIiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUu
NC40LzE1LjQuNC4xNC8xNS40LjQuMTQtOS1iLWlpLTMuanMiLAorCisgICAgZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGJvdGggdHlwZSBvZiBhcnJheSBlbGVtZW50IGFu
ZCB0eXBlIG9mIHNlYXJjaCBlbGVtZW50IGFyZSBudWxsIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworCisgICAgICAgIHJldHVybiBbbnVsbF0uaW5kZXhPZihudWxsKSA9PT0g
MDsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAg
ICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7CisgICAgfQorCit9
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWlpLTMuanMKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE0LTktYi1paS00LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWlpLTQuanMJKHJldmlzaW9u
IDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTQtOS1iLWlpLTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzggKzEsMzggQEAK
LS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0v
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0K
LQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTQt
OS1iLWlpLTQiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQu
NC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1paS00LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHNlYXJjaCBlbGVtZW50IGlzIE5hTiIsDQotICAg
IHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgcmV0dXJuIFsrTmFOLCBO
YU4sIC1OYU5dLmluZGV4T2YoTmFOKSA9PT0gLTE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5
LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAg
IGlkOiAiMTUuNC40LjE0LTktYi1paS00IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtOS1iLWlpLTQuanMiLAorCisgICAg
ZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHNlYXJjaCBlbGVtZW50IGlz
IE5hTiIsCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgcmV0dXJu
IFsrTmFOLCBOYU4sIC1OYU5dLmluZGV4T2YoTmFOKSA9PT0gLTE7CisgICAgfSwKKworICAgIHBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMo
QXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE0LTktYi1paS00LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCAr
MSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaWktNS5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE0LTktYi1paS01LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYi1paS01
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM4ICsxLDM4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE0LTktYi1paS01IiwNCi0NCi0gICAg
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4x
NC05LWItaWktNS5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmlu
ZGV4T2YgLSBzZWFyY2ggZWxlbWVudCBpcyAtTmFOIiwNCi0gICAgdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7DQotDQotICAgICAgICByZXR1cm4gWytOYU4sIE5hTiwgLU5hTl0uaW5kZXhPZigt
TmFOKSA9PT0gLTE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9m
KTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
Ly8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE0LTkt
Yi1paS01IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1
LjQuNC4xNC8xNS40LjQuMTQtOS1iLWlpLTUuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJh
eS5wcm90b3R5cGUuaW5kZXhPZiAtIHNlYXJjaCBlbGVtZW50IGlzIC1OYU4iLAorICAgIHRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHJldHVybiBbK05hTiwgTmFOLCAtTmFO
XS5pbmRleE9mKC1OYU4pID09PSAtMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUu
aW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWlpLTUuanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYi1paS02LmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQt
OS1iLWlpLTYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWlpLTYuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMzggKzEsMzggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0N
Ci0gICAgaWQ6ICIxNS40LjQuMTQtOS1iLWlpLTYiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1paS02LmpzIiwN
Ci0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGFycmF5IGVs
ZW1lbnQgaXMgKzAgYW5kIHNlYXJjaCBlbGVtZW50IGlzIC0wIiwNCi0gICAgdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICByZXR1cm4gWyswXS5pbmRleE9mKC0wKSA9PT0g
MDsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQot
ICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9
DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
CisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
CisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQtOS1iLWlpLTYiLAor
CisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1
LjQuNC4xNC05LWItaWktNi5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlw
ZS5pbmRleE9mIC0gYXJyYXkgZWxlbWVudCBpcyArMCBhbmQgc2VhcmNoIGVsZW1lbnQgaXMgLTAi
LAorICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHJldHVybiBbKzBd
LmluZGV4T2YoLTApID09PSAwOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRl
eE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaWktNi5qcwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWlpLTcuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWIt
aWktNy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaWktNy5qcwkod29ya2luZyBjb3B5KQpA
QCAtMSwzOCArMSwzOCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQot
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAg
ICBpZDogIjE1LjQuNC4xNC05LWItaWktNyIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNC8xNS40LjQuMTQtOS1iLWlpLTcuanMiLA0KLQ0K
LSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYXJyYXkgZWxlbWVu
dCBpcyAtMCBhbmQgc2VhcmNoIGVsZW1lbnQgaXMgKzAiLA0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHJldHVybiBbLTBdLmluZGV4T2YoKzApID09PSAwOw0K
LSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAg
ICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZik7DQotICAgIH0NCi0N
Ci19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8v
LyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisv
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNC05LWItaWktNyIsCisKKyAg
ICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40
LjE0LTktYi1paS03LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmlu
ZGV4T2YgLSBhcnJheSBlbGVtZW50IGlzIC0wIGFuZCBzZWFyY2ggZWxlbWVudCBpcyArMCIsCisg
ICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgcmV0dXJuIFstMF0uaW5k
ZXhPZigrMCkgPT09IDA7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2Yp
OworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYi1paS03LmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaWktOC5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYi1paS04
LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYi1paS04LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDM4ICsxLDM4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4N
Ci0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlk
OiAiMTUuNC40LjE0LTktYi1paS04IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktOC5qcyIsDQotDQotICAg
IGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBib3RoIGFycmF5IGVsZW1l
bnQgYW5kIHNlYXJjaCBlbGVtZW50IGFyZSBOdW1iZXIsIGFuZCB0aGV5IGhhdmUgc2FtZSB2YWx1
ZSIsDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgcmV0dXJu
IFstMSwgMCwgMV0uaW5kZXhPZigxKSA9PT0gMjsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLmluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAg
aWQ6ICIxNS40LjQuMTQtOS1iLWlpLTgiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktOC5qcyIsCisKKyAgICBk
ZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYm90aCBhcnJheSBlbGVtZW50
IGFuZCBzZWFyY2ggZWxlbWVudCBhcmUgTnVtYmVyLCBhbmQgdGhleSBoYXZlIHNhbWUgdmFsdWUi
LAorICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHJldHVybiBbLTEs
IDAsIDFdLmluZGV4T2YoMSkgPT09IDI7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
LmluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYi1paS04Lmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaWktOS5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0
LTktYi1paS05LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYi1paS05LmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDM4ICsxLDM4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MN
Ci0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0v
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQot
DQotICAgIGlkOiAiMTUuNC40LjE0LTktYi1paS05IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktOS5qcyIs
DQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBib3RoIGFy
cmF5IGVsZW1lbnQgYW5kIHNlYXJjaCBlbGVtZW50IGFyZSBTdHJpbmcsIGFuZCB0aGV5IGhhdmUg
ZXhhY3RseSB0aGUgc2FtZSBzZXF1ZW5jZSBvZiBjaGFyYWN0ZXJzIiwNCi0gICAgdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICByZXR1cm4gWyIiLCAiYWIiLCAiYmNhIiwg
ImFiYyJdLmluZGV4T2YoImFiYyIpID09PSAzOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5w
cm90b3R5cGUuaW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBp
ZDogIjE1LjQuNC4xNC05LWItaWktOSIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1paS05LmpzIiwKKworICAgIGRl
c2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBib3RoIGFycmF5IGVsZW1lbnQg
YW5kIHNlYXJjaCBlbGVtZW50IGFyZSBTdHJpbmcsIGFuZCB0aGV5IGhhdmUgZXhhY3RseSB0aGUg
c2FtZSBzZXF1ZW5jZSBvZiBjaGFyYWN0ZXJzIiwKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKworICAgICAgICByZXR1cm4gWyIiLCAiYWIiLCAiYmNhIiwgImFiYyJdLmluZGV4T2Yo
ImFiYyIpID09PSAzOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsK
KyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNC05LWItaWktOS5qcwpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWlpaS0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWlpaS0x
LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYi1paWktMS5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSwzOSArMSwzOSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBp
ZDogIjE1LjQuNC4xNC05LWItaWlpLTEiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1paWktMS5qcyIsDQotDQot
ICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmluZGV4T2YgcmV0dXJucyBpbmRleCBv
ZiBsYXN0IG9uZSB3aGVuIG1vcmUgdGhhbiB0d28gZWxlbWVudHMgaW4gYXJyYXkgYXJlIGVsaWdp
YmxlIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICBy
ZXR1cm4gWzEsIDIsIDIsIDEsIDJdLmluZGV4T2YoMikgPT09IDE7DQotICAgIH0sDQotDQotICAg
IHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhp
c3RzKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAK
Ky8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KHsKKworICAgIGlkOiAiMTUuNC40LjE0LTktYi1paWktMSIsCisKKyAgICBwYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1paWktMS5q
cyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMg
aW5kZXggb2YgbGFzdCBvbmUgd2hlbiBtb3JlIHRoYW4gdHdvIGVsZW1lbnRzIGluIGFycmF5IGFy
ZSBlbGlnaWJsZSIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAg
ICByZXR1cm4gWzEsIDIsIDIsIDEsIDJdLmluZGV4T2YoMikgPT09IDE7CisgICAgfSwKKworICAg
IHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE0LTktYi1paWktMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w
LDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWlp
aS0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTQtOS1iLWlpaS0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE0LTkt
Yi1paWktMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1OCArMSw1OCBAQAotLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQot
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNC05LWItaWlpLTIiLA0K
LQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQv
MTUuNC40LjE0LTktYi1paWktMi5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmluZGV4T2YgcmV0dXJucyB3aXRob3V0IHZpc2l0aW5nIHN1YnNlcXVlbnQgZWxlbWVu
dCBvbmNlIHNlYXJjaCB2YWx1ZSBpcyBmb3VuZCIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgew0KLSAgICAgICAgdmFyIGFyciA9IFsxLCAyLCAsIDEsIDJdOw0KLSAgICAgICAg
dmFyIGVsZW1lbnRUaGlyZEFjY2Vzc2VkID0gZmFsc2U7DQotICAgICAgICB2YXIgZWxlbWVudEZp
ZnRoQWNjZXNzZWQgPSBmYWxzZTsNCi0NCi0gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShh
cnIsICIyIiwgew0KLSAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KLSAgICAgICAgICAg
ICAgICBlbGVtZW50VGhpcmRBY2Nlc3NlZCA9IHRydWU7DQotICAgICAgICAgICAgICAgIHJldHVy
biAyOw0KLSAgICAgICAgICAgIH0sDQotICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQot
ICAgICAgICB9KTsNCi0gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICI0Iiwgew0K
LSAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KLSAgICAgICAgICAgICAgICBlbGVtZW50
RmlmdGhBY2Nlc3NlZCA9IHRydWU7DQotICAgICAgICAgICAgICAgIHJldHVybiAyOw0KLSAgICAg
ICAgICAgIH0sDQotICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQotICAgICAgICB9KTsN
Ci0NCi0gICAgICAgIGFyci5pbmRleE9mKDIpOw0KLSAgICAgICAgcmV0dXJuICFlbGVtZW50VGhp
cmRBY2Nlc3NlZCAmJiAhZWxlbWVudEZpZnRoQWNjZXNzZWQ7DQotICAgIH0sDQotDQotICAgIHBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3Rz
KEFycmF5LnByb3RvdHlwZS5pbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVy
dHkpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTQt
OS1iLWlpaS0yIiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40
LzE1LjQuNC4xNC8xNS40LjQuMTQtOS1iLWlpaS0yLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAi
QXJyYXkucHJvdG90eXBlLmluZGV4T2YgcmV0dXJucyB3aXRob3V0IHZpc2l0aW5nIHN1YnNlcXVl
bnQgZWxlbWVudCBvbmNlIHNlYXJjaCB2YWx1ZSBpcyBmb3VuZCIsCisKKyAgICB0ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsKKyAgICAgICAgdmFyIGFyciA9IFsxLCAyLCAsIDEsIDJdOworICAg
ICAgICB2YXIgZWxlbWVudFRoaXJkQWNjZXNzZWQgPSBmYWxzZTsKKyAgICAgICAgdmFyIGVsZW1l
bnRGaWZ0aEFjY2Vzc2VkID0gZmFsc2U7CisKKyAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5
KGFyciwgIjIiLCB7CisgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAg
ICAgICBlbGVtZW50VGhpcmRBY2Nlc3NlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgcmV0dXJu
IDI7CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCisgICAg
ICAgIH0pOworICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiNCIsIHsKKyAgICAg
ICAgICAgIGdldDogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIGVsZW1lbnRGaWZ0aEFj
Y2Vzc2VkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICByZXR1cm4gMjsKKyAgICAgICAgICAgIH0s
CisgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKKyAgICAgICAgfSk7CisKKyAgICAgICAg
YXJyLmluZGV4T2YoMik7CisgICAgICAgIHJldHVybiAhZWxlbWVudFRoaXJkQWNjZXNzZWQgJiYg
IWVsZW1lbnRGaWZ0aEFjY2Vzc2VkOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5p
bmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOworICAgIH0KKworfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE0LTktYi1paWktMi5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTUtMC0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMC0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1
LTAtMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzNSArMSwzNSBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTUtMC0xIiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTAtMS5qcyIs
DQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCBleGlz
dCBhcyBhIGZ1bmN0aW9uIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZh
ciBmID0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mOw0KLSAgaWYgKHR5cGVvZihmKSA9PT0g
ImZ1bmN0aW9uIikgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfQ0KLX0pOw0KKy8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisv
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggeworaWQ6ICIxNS40LjQuMTUtMC0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0wLTEuanMiLAorCitkZXNjcmlwdGlv
bjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24i
LAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGYgPSBBcnJheS5wcm90b3R5
cGUubGFzdEluZGV4T2Y7CisgIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsKKyAgICBy
ZXR1cm4gdHJ1ZTsKKyAgfQorIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0wLTEuanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTAtMi5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTAtMi5qcwko
cmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNS0wLTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzkgKzEsMzkg
QEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyAN
Ci0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0v
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiANCi0NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE1
LTAtMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40
LjE1LzE1LjQuNC4xNS0wLTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBl
Lmxhc3RJbmRleE9mIGhhcyBhIGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyAxLiIsDQot
DQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBpZiAoQXJyYXkucHJvdG90eXBlLmxh
c3RJbmRleE9mLmxlbmd0aCA9PT0gMSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwN
Ci0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0
cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTUuNC40LjE1LTAtMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMC0yLmpzIiwKKworZGVzY3JpcHRpb246ICJB
cnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgaGFzIGEgbGVuZ3RoIHByb3BlcnR5IHdob3NlIHZh
bHVlIGlzIDEuIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGlmIChBcnJheS5w
cm90b3R5cGUubGFzdEluZGV4T2YubGVuZ3RoID09PSAxKSB7CisgICAgcmV0dXJuIHRydWU7Cisg
IH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZu
RXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CisgfQorfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE1LTAtMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAg
KzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMS0xMC5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE1LTEtMTAuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMS0xMC5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMSw0NyArMSw0NyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
DQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRl
c3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNS0xLTEwIiwNCi0NCi0gICAgcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTEwLmpzIiwN
Ci0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGll
ZCB0byB0aGUgTWF0aCBvYmplY3QiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsNCi0gICAgDQotICAgICAgICB0cnkgew0KLSAgICAgICAgICAgIE1hdGgubGVuZ3RoID0gMjsN
Ci0gICAgICAgICAgICBNYXRoWzFdID0gMTAwOw0KLSAgICAgICAgICAgIHJldHVybiAxID09PSBB
cnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChNYXRoLCAxMDApOw0KLSAgICAgICAgfSBm
aW5hbGx5IHsNCi0gICAgICAgICAgICBkZWxldGUgTWF0aC5sZW5ndGg7DQotICAgICAgICAgICAg
ZGVsZXRlIE1hdGhbMV07DQotICAgICAgICB9DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnBy
b3RvdHlwZS5sYXN0SW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKwor
ICAgIGlkOiAiMTUuNC40LjE1LTEtMTAiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTEwLmpzIiwKKworICAgIGRlc2Ny
aXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gdGhlIE1hdGgg
b2JqZWN0IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgIAorICAgICAg
ICB0cnkgeworICAgICAgICAgICAgTWF0aC5sZW5ndGggPSAyOworICAgICAgICAgICAgTWF0aFsx
XSA9IDEwMDsKKyAgICAgICAgICAgIHJldHVybiAxID09PSBBcnJheS5wcm90b3R5cGUubGFzdElu
ZGV4T2YuY2FsbChNYXRoLCAxMDApOworICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ZGVsZXRlIE1hdGgubGVuZ3RoOworICAgICAgICAgICAgZGVsZXRlIE1hdGhbMV07CisgICAgICAg
IH0KKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAg
ICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOworICAgIH0K
KworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTEtMTAuanMKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE1LTEtMTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0xLTExLmpzCShyZXZpc2lvbiAxOTk1NDkp
CisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE1LTEtMTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDQgKzEsNDQgQEAKLS8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0K
LS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLQ0KLUVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtMS0xMSIsDQot
DQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8x
NS40LjQuMTUtMS0xMS5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBl
Lmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gRGF0ZSBvYmplY3QiLA0KLQ0KLSAgICB0ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciBvYmogPSBuZXcgRGF0ZSgpOw0KLSAg
ICAgICAgb2JqLmxlbmd0aCA9IDI7DQotICAgICAgICBvYmpbMV0gPSB0cnVlOw0KLQ0KLSAgICAg
ICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09
IDE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0K
LSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQot
ICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8K
Ky8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAK
Ky8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKwor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE1LTEtMTEi
LAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1
LzE1LjQuNC4xNS0xLTExLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBl
Lmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gRGF0ZSBvYmplY3QiLAorCisgICAgdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgdmFyIG9iaiA9IG5ldyBEYXRlKCk7CisgICAgICAg
IG9iai5sZW5ndGggPSAyOworICAgICAgICBvYmpbMV0gPSB0cnVlOworCisgICAgICAgIHJldHVy
biBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOworICAg
IH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0
dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CisgICAgfQorCit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTUtMS0xMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTUtMS0xMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTEtMTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMS0x
Mi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NCArMSw0NCBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotDQotICAgIGlkOiAiMTUuNC40LjE1LTEtMTIiLA0KLQ0KLSAg
ICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40
LjE1LTEtMTIuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0
SW5kZXhPZiBhcHBsaWVkIHRvIFJlZ0V4cCBvYmplY3QiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciBvYmogPSBuZXcgUmVnRXhwKCJhZmRhc2Yi
KTsNCi0gICAgICAgIG9iai5sZW5ndGggPSAxMDA7DQotICAgICAgICBvYmpbMV0gPSAiYWZkYXNm
IjsNCi0NCi0gICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChv
YmosICJhZmRhc2YiKSA9PT0gMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
Lmxhc3RJbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwor
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CisKKyAgICBp
ZDogIjE1LjQuNC4xNS0xLTEyIiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS0xMi5qcyIsCisKKyAgICBkZXNjcmlwdGlv
bjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIFJlZ0V4cCBvYmplY3Qi
LAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgdmFyIG9iaiA9
IG5ldyBSZWdFeHAoImFmZGFzZiIpOworICAgICAgICBvYmoubGVuZ3RoID0gMTAwOworICAgICAg
ICBvYmpbMV0gPSAiYWZkYXNmIjsKKworICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxh
c3RJbmRleE9mLmNhbGwob2JqLCAiYWZkYXNmIikgPT09IDE7CisgICAgfSwKKworICAgIHByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJy
YXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNS0xLTEyLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAj
IworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0xLTEzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTUtMS0xMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0xLTEzLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDQ4ICsxLDQ4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MN
Ci0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0v
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtMS0xMyIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS0xMy5qcyIsDQot
DQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQg
dG8gdGhlIEpTT04gb2JqZWN0IiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
DQotDQotICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQotICAgICAgICB0cnkgew0KLSAgICAg
ICAgICAgIEpTT05bM10gPSB0YXJnZXRPYmo7DQotICAgICAgICAgICAgSlNPTi5sZW5ndGggPSA1
Ow0KLSAgICAgICAgICAgIHJldHVybiAzID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Yu
Y2FsbChKU09OLCB0YXJnZXRPYmopOw0KLSAgICAgICAgfSBmaW5hbGx5IHsNCi0gICAgICAgICAg
ICBkZWxldGUgSlNPTlszXTsNCi0gICAgICAgICAgICBkZWxldGUgSlNPTi5sZW5ndGg7DQotICAg
ICAgICB9DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
ew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7
DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8v
LyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworCisgICAgaWQ6ICIxNS40LjQuMTUt
MS0xMyIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40
LjQuMTUvMTUuNC40LjE1LTEtMTMuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90
b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byB0aGUgSlNPTiBvYmplY3QiLAorCisgICAgdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Owor
ICAgICAgICB0cnkgeworICAgICAgICAgICAgSlNPTlszXSA9IHRhcmdldE9iajsKKyAgICAgICAg
ICAgIEpTT04ubGVuZ3RoID0gNTsKKyAgICAgICAgICAgIHJldHVybiAzID09PSBBcnJheS5wcm90
b3R5cGUubGFzdEluZGV4T2YuY2FsbChKU09OLCB0YXJnZXRPYmopOworICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgZGVsZXRlIEpTT05bM107CisgICAgICAgICAgICBkZWxldGUgSlNP
Ti5sZW5ndGg7CisgICAgICAgIH0KKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFz
dEluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTEtMTMuanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTEtMTQuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0xLTE0Lmpz
CShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE1LTEtMTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDQgKzEs
NDQgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8v
LyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0K
LS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQot
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyAN
Ci0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiANCi0NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLQ0KLSAgICBpZDog
IjE1LjQuNC4xNS0xLTE0IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTE0LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRp
b246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBFcnJvciBvYmplY3Qi
LA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciBv
YmogPSBuZXcgU3ludGF4RXJyb3IoKTsNCi0gICAgICAgIG9iai5sZW5ndGggPSAyOw0KLSAgICAg
ICAgb2JqWzFdID0gSW5maW5pdHk7DQotDQotICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBl
Lmxhc3RJbmRleE9mLmNhbGwob2JqLCBJbmZpbml0eSkgPT09IDE7DQotICAgIH0sDQotDQotICAg
IHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhp
c3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworCitFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggeworCisgICAgaWQ6ICIxNS40LjQuMTUtMS0xNCIsCisKKyAgICBwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtMTQuanMi
LAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGll
ZCB0byBFcnJvciBvYmplY3QiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisK
KyAgICAgICAgdmFyIG9iaiA9IG5ldyBTeW50YXhFcnJvcigpOworICAgICAgICBvYmoubGVuZ3Ro
ID0gMjsKKyAgICAgICAgb2JqWzFdID0gSW5maW5pdHk7CisKKyAgICAgICAgcmV0dXJuIEFycmF5
LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgSW5maW5pdHkpID09PSAxOworICAgIH0s
CisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJu
IGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CisgICAgfQorCit9KTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTUtMS0xNC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUt
MS0xNS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE1LTEtMTUuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMS0xNS5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotDQotICAgIGlkOiAiMTUuNC40LjE1LTEtMTUiLA0KLQ0KLSAgICBw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1
LTEtMTUuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5k
ZXhPZiBhcHBsaWVkIHRvIHRoZSBBcmd1bWVudHMgb2JqZWN0IiwNCi0NCi0gICAgdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgb2JqID0gRnVuY3Rpb24oInJldHVy
biBhcmd1bWVudHMiKSgxLCAyLCAzKTsNCi0NCi0gICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5
cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDIpID09PSAxOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhB
cnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKKworICAgIGlkOiAiMTUuNC40LjE1LTEtMTUiLAorCisgICAgcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTE1LmpzIiwKKwor
ICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8g
dGhlIEFyZ3VtZW50cyBvYmplY3QiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
CisKKyAgICAgICAgdmFyIG9iaiA9IEZ1bmN0aW9uKCJyZXR1cm4gYXJndW1lbnRzIikoMSwgMiwg
Myk7CisKKyAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9i
aiwgMikgPT09IDE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9m
KTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0xLTE1LmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNS0xLTE2LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMS0xNi5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNS0xLTE2LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ4ICsxLDQ4IEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
c3RlcEZpdmVPY2N1cnNhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi0NCi0gICAgaWQ6ICIx
NS40LjQuMTUtMS0xNiIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS0xNi5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gdGhlIGRvY3VtZW50IGhv
c3Qgb2JqZWN0IiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAg
ICAgICB2YXIgdGFyZ2V0T2JqID0gWyJkb2N1bWVudCJdOw0KLSAgICAgICAgdHJ5IHsNCi0gICAg
ICAgICAgICBkb2N1bWVudFs1XSA9IHRhcmdldE9iajsNCi0gICAgICAgICAgICBkb2N1bWVudC5s
ZW5ndGggPSAxMDA7DQotICAgICAgICAgICAgcmV0dXJuIDUgPT09IEFycmF5LnByb3RvdHlwZS5s
YXN0SW5kZXhPZi5jYWxsKGRvY3VtZW50LCB0YXJnZXRPYmopOw0KLSAgICAgICAgfSBmaW5hbGx5
IHsNCi0gICAgICAgICAgICBkZWxldGUgZG9jdW1lbnRbNV07DQotICAgICAgICAgICAgZGVsZXRl
IGRvY3VtZW50Lmxlbmd0aDsNCi0gICAgICAgIH0NCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIHN0ZXBGaXZlT2NjdXJzYXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAK
Ky8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7CisKKyAgICBpZDogIjE1LjQuNC4xNS0xLTE2IiwKKworICAgIHBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS0xNi5qcyIsCisK
KyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRv
IHRoZSBkb2N1bWVudCBob3N0IG9iamVjdCIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKworICAgICAgICB2YXIgdGFyZ2V0T2JqID0gWyJkb2N1bWVudCJdOworICAgICAgICB0
cnkgeworICAgICAgICAgICAgZG9jdW1lbnRbNV0gPSB0YXJnZXRPYmo7CisgICAgICAgICAgICBk
b2N1bWVudC5sZW5ndGggPSAxMDA7CisgICAgICAgICAgICByZXR1cm4gNSA9PT0gQXJyYXkucHJv
dG90eXBlLmxhc3RJbmRleE9mLmNhbGwoZG9jdW1lbnQsIHRhcmdldE9iaik7CisgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICBkZWxldGUgZG9jdW1lbnRbNV07CisgICAgICAgICAgICBk
ZWxldGUgZG9jdW1lbnQubGVuZ3RoOworICAgICAgICB9CisgICAgfSwKKworICAgIHByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NS0xLTE2LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIwor
TEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0xLTMuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNS0xLTMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMS0zLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDQ4ICsxLDQ4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0v
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gDQotDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi0N
Ci0gICAgaWQ6ICIxNS40LjQuMTUtMS0zIiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTMuanMiLA0KLQ0KLSAgICBk
ZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIGJvb2xl
YW4gcHJpbWl0aXZlIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQot
ICAgICAgICB0cnkgew0KLSAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlWzFdID0gdHJ1ZTsN
Ci0gICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGggPSAyOw0KLQ0KLSAgICAgICAg
ICAgIHJldHVybiAxID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh0cnVlLCB0
cnVlKTsNCi0gICAgICAgIH0gZmluYWxseSB7DQotICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4u
cHJvdG90eXBlWzFdOw0KLSAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5sZW5n
dGg7DQotICAgICAgICB9DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0
SW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisv
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworCisgICAgaWQ6ICIx
NS40LjQuMTUtMS0zIiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUu
NC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS0zLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gYm9vbGVhbiBwcmltaXRpdmUiLAor
CisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgIEJvb2xlYW4ucHJvdG90eXBlWzFdID0gdHJ1ZTsKKyAgICAgICAgICAgIEJvb2xlYW4u
cHJvdG90eXBlLmxlbmd0aCA9IDI7CisKKyAgICAgICAgICAgIHJldHVybiAxID09PSBBcnJheS5w
cm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh0cnVlLCB0cnVlKTsKKyAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZVsxXTsKKyAgICAgICAgICAg
IGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGg7CisgICAgICAgIH0KKyAgICB9LAorCisg
ICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4
aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE1LTEtMy5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w
LDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMS00Lmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTUtMS00LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTEtNC5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMSw0NCArMSw0NCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
DQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7DQotDQotICAgIGlkOiAiMTUuNC40LjE1LTEtNCIsDQotDQotICAgIHBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS00LmpzIiwN
Ci0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGll
ZCB0byBCb29sZWFuIG9iamVjdCIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
ew0KLQ0KLSAgICAgICAgdmFyIG9iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCi0gICAgICAgIG9i
ai5sZW5ndGggPSAyOw0KLSAgICAgICAgb2JqWzFdID0gdHJ1ZTsNCi0NCi0gICAgICAgIHJldHVy
biBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOw0KLSAg
ICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAg
IHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOw0KLSAgICB9DQot
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKKworRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKKworICAgIGlkOiAiMTUuNC40LjE1LTEtNCIsCisKKyAg
ICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40
LjE1LTEtNC5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5k
ZXhPZiBhcHBsaWVkIHRvIEJvb2xlYW4gb2JqZWN0IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeworCisgICAgICAgIHZhciBvYmogPSBuZXcgQm9vbGVhbihmYWxzZSk7CisgICAg
ICAgIG9iai5sZW5ndGggPSAyOworICAgICAgICBvYmpbMV0gPSB0cnVlOworCisgICAgICAgIHJl
dHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOwor
ICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAg
cmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CisgICAgfQorCit9
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMS00LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNS0xLTUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0xLTUuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMS01
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ3ICsxLDQ3IEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtMS01IiwNCi0NCi0gICAg
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4x
NS0xLTUuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5k
ZXhPZiBhcHBsaWVkIHRvIG51bWJlciBwcmltaXRpdmUiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgdHJ5IHsNCi0gICAgICAgICAgICBOdW1iZXIucHJvdG90
eXBlWzFdID0gaXNOYU47DQotICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGggPSAy
Ow0KLSAgICAgICAgICAgIHJldHVybiAxID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Yu
Y2FsbCg1LCBpc05hTik7DQotICAgICAgICB9IGZpbmFsbHkgew0KLSAgICAgICAgICAgIGRlbGV0
ZSBOdW1iZXIucHJvdG90eXBlWzFdOw0KLSAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90
eXBlLmxlbmd0aDsNCi0gICAgICAgIH0NCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90
eXBlLmxhc3RJbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisv
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CisKKyAg
ICBpZDogIjE1LjQuNC4xNS0xLTUiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTUuanMiLAorCisgICAgZGVzY3JpcHRp
b246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBudW1iZXIgcHJpbWl0
aXZlIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgdHJ5IHsKKyAg
ICAgICAgICAgIE51bWJlci5wcm90b3R5cGVbMV0gPSBpc05hTjsKKyAgICAgICAgICAgIE51bWJl
ci5wcm90b3R5cGUubGVuZ3RoID0gMjsKKyAgICAgICAgICAgIHJldHVybiAxID09PSBBcnJheS5w
cm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCg1LCBpc05hTik7CisgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZVsxXTsKKyAgICAgICAgICAgIGRl
bGV0ZSBOdW1iZXIucHJvdG90eXBlLmxlbmd0aDsKKyAgICAgICAgfQorICAgIH0sCisKKyAgICBw
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3Rz
KEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTUtMS01LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCAr
MSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0xLTYuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNS0xLTYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMS02LmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDQ0ICsxLDQ0IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MN
Ci0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0v
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtMS02IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTYuanMiLA0KLQ0K
LSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRv
IE51bWJlciBvYmplY3QiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0N
Ci0gICAgICAgIHZhciBvYmogPSBuZXcgTnVtYmVyKC0zKTsNCi0gICAgICAgIG9iai5sZW5ndGgg
PSAyOw0KLSAgICAgICAgb2JqWzFdID0gdHJ1ZTsNCi0NCi0gICAgICAgIHJldHVybiBBcnJheS5w
cm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOw0KLSAgICB9LA0KLQ0K
LSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQor
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKKworRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsKKworICAgIGlkOiAiMTUuNC40LjE1LTEtNiIsCisKKyAgICBwYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtNi5q
cyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBs
aWVkIHRvIE51bWJlciBvYmplY3QiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
CisKKyAgICAgICAgdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTMpOworICAgICAgICBvYmoubGVuZ3Ro
ID0gMjsKKyAgICAgICAgb2JqWzFdID0gdHJ1ZTsKKworICAgICAgICByZXR1cm4gQXJyYXkucHJv
dG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTsKKyAgICB9LAorCisgICAg
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0
cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE1LTEtNi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAg
KzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMS03LmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTUtMS03LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTEtNy5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSw0MCArMSw0MCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
DQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQot
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7DQotDQotICAgIGlkOiAiMTUuNC40LjE1LTEtNyIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS03LmpzIiwNCi0N
Ci0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0
byBzdHJpbmcgcHJpbWl0aXZlIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
DQotDQotICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoImFi
YyIsICJjIikgPT09IDI7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0
SW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisv
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworCisgICAgaWQ6ICIx
NS40LjQuMTUtMS03IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUu
NC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS03LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gc3RyaW5nIHByaW1pdGl2ZSIsCisK
KyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICByZXR1cm4gQXJyYXku
cHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoImFiYyIsICJjIikgPT09IDI7CisgICAgfSwKKwor
ICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5F
eGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNS0xLTcuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTEtOC5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE1LTEtOC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0xLTguanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNS0xLTgiLA0KLQ0KLSAgICBwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtOC5qcyIs
DQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxp
ZWQgdG8gU3RyaW5nIG9iamVjdCIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
ew0KLQ0KLSAgICAgICAgdmFyIG9iaiA9IG5ldyBTdHJpbmcoInVuZGVmaW5lZCIpOw0KLQ0KLSAg
ICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgImYiKSA9
PT0gNDsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsN
Ci0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8v
IAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CisKKyAgICBpZDogIjE1LjQuNC4xNS0x
LTgiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40
LjE1LzE1LjQuNC4xNS0xLTguanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5
cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0IiwKKworICAgIHRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHZhciBvYmogPSBuZXcgU3RyaW5nKCJ1bmRl
ZmluZWQiKTsKKworICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNh
bGwob2JqLCAiZiIpID09PSA0OworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0
SW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMS04LmpzCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0xLTkuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0xLTkuanMJKHJl
dmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTUtMS05LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQzICsxLDQzIEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4N
Ci0NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40
LjE1LTEtOSIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40
LzE1LjQuNC4xNS8xNS40LjQuMTUtMS05LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJh
eS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3QiLA0KLQ0K
LSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciBvYmogPSBu
ZXcgRnVuY3Rpb24oImEiLCAiYiIsICJyZXR1cm4gYSArIGIiKTsNCi0gICAgICAgIG9ialsxXSA9
IHRydWU7DQotDQotICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNh
bGwob2JqLCB0cnVlKSA9PT0gMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
Lmxhc3RJbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwor
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6
ICIxNS40LjQuMTUtMS05IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS05LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAi
QXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0IiwK
KworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHZhciBvYmogPSBu
ZXcgRnVuY3Rpb24oImEiLCAiYiIsICJyZXR1cm4gYSArIGIiKTsKKyAgICAgICAgb2JqWzFdID0g
dHJ1ZTsKKworICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwo
b2JqLCB0cnVlKSA9PT0gMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdElu
ZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTEtOS5qcwpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMi0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMi0xLmpzCShyZXZp
c2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE1LTItMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MSArMSw0MSBAQAot
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNS0y
LTEiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40
LjQuMTUvMTUuNC40LjE1LTItMS5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmxhc3RJbmRleE9mIHdoZW4gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgb24g
YW4gQXJyYXktbGlrZSBvYmplY3QiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsNCi0gICAgICAgIHZhciBvYmogPSB7IDE6IG51bGwsIDI6IHVuZGVmaW5lZCwgbGVuZ3RoOiAy
IH07DQotDQotICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwo
b2JqLCBudWxsKSA9PT0gMSAmJg0KLSAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5k
ZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkKSA9PT0gLTE7DQotICAgIH0sDQotDQotICAgIHByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFy
cmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7
CisKKyAgICBpZDogIjE1LjQuNC4xNS0yLTEiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTEuanMiLAorCisgICAgZGVz
Y3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiAnbGVuZ3RoJyBpcyBv
d24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCisKKyAgICB0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgICAgICAgdmFyIG9iaiA9IHsgMTogbnVsbCwgMjogdW5k
ZWZpbmVkLCBsZW5ndGg6IDIgfTsKKworICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxh
c3RJbmRleE9mLmNhbGwob2JqLCBudWxsKSA9PT0gMSAmJgorICAgICAgICAgICAgQXJyYXkucHJv
dG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB1bmRlZmluZWQpID09PSAtMTsKKyAgICB9LAor
CisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE1LTItMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMj
IC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMi0x
MC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE1LTItMTAuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMi0xMC5qcwko
d29ya2luZyBjb3B5KQpAQCAtMSw1OSArMSw1OSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNS0yLTEwIiwNCi0NCi0gICAgcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTEwLmpz
IiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hl
biAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5o
ZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwNCi0NCi0g
ICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICAgICAgICB2YXIgcHJvdG8gPSB7fTsN
Ci0gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCi0gICAg
ICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgcmV0dXJuIDA7DQot
ICAgICAgICAgICAgfSwNCi0gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCi0gICAgICAg
IH0pOw0KLQ0KLSAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KLSAgICAgICAgQ29u
LnByb3RvdHlwZSA9IHByb3RvOw0KLQ0KLSAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0K
LSAgICAgICAgY2hpbGRbMV0gPSB0cnVlOw0KLQ0KLSAgICAgICAgT2JqZWN0LmRlZmluZVByb3Bl
cnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KLSAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0K
LSAgICAgICAgICAgICAgICByZXR1cm4gMjsNCi0gICAgICAgICAgICB9LA0KLSAgICAgICAgICAg
IGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KLSAgICAgICAgfSk7DQotDQotICAgICAgICByZXR1cm4gQXJy
YXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoY2hpbGQsIHRydWUpID09PSAxOw0KLSAgICB9
LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJl
dHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9i
amVjdC5kZWZpbmVQcm9wZXJ0eSk7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAg
ICBpZDogIjE1LjQuNC4xNS0yLTEwIiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi0xMC5qcyIsCisKKyAgICBkZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuICdsZW5ndGgnIGlzIG93biBh
Y2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJv
cGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7CisgICAgICAgIHZhciBwcm90byA9IHt9OworICAgICAgICBPYmplY3QuZGVmaW5l
UHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7CisgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgp
IHsKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIH0sCisgICAgICAgICAg
ICBjb25maWd1cmFibGU6IHRydWUKKyAgICAgICAgfSk7CisKKyAgICAgICAgdmFyIENvbiA9IGZ1
bmN0aW9uICgpIHt9OworICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87CisKKyAgICAgICAg
dmFyIGNoaWxkID0gbmV3IENvbigpOworICAgICAgICBjaGlsZFsxXSA9IHRydWU7CisKKyAgICAg
ICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgeworICAgICAgICAgICAg
Z2V0OiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIDI7CisgICAgICAgICAg
ICB9LAorICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCisgICAgICAgIH0pOworCisgICAg
ICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgdHJ1ZSkg
PT09IDE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewor
ICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBm
bkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE1LTItMTAuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTItMTEuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNS0yLTExLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTItMTEuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNTUgKzEsNTUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtMi0xMSIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi0xMS5qcyIsDQot
DQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gJ2xl
bmd0aCcgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2Jq
ZWN0IiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2
YXIgcHJvdG8gPSB7fTsNCi0gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxl
bmd0aCIsIHsNCi0gICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCi0gICAgICAgICAgICAg
ICAgcmV0dXJuIDI7DQotICAgICAgICAgICAgfSwNCi0gICAgICAgICAgICBjb25maWd1cmFibGU6
IHRydWUNCi0gICAgICAgIH0pOw0KLQ0KLSAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9
Ow0KLSAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KLQ0KLSAgICAgICAgdmFyIGNoaWxk
ID0gbmV3IENvbigpOw0KLSAgICAgICAgY2hpbGRbMV0gPSAxOw0KLSAgICAgICAgY2hpbGRbMl0g
PSAyOw0KLQ0KLSAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxs
KGNoaWxkLCAxKSA9PT0gMSAmJg0KLSAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5k
ZXhPZi5jYWxsKGNoaWxkLCAyKSA9PT0gLTE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnBy
b3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsN
Ci0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8v
IAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE1LTItMTEi
LAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1
LzE1LjQuNC4xNS0yLTExLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBl
Lmxhc3RJbmRleE9mIHdoZW4gJ2xlbmd0aCcgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5
IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgeworCisgICAgICAgIHZhciBwcm90byA9IHt9OworICAgICAgICBPYmplY3QuZGVmaW5lUHJv
cGVydHkocHJvdG8sICJsZW5ndGgiLCB7CisgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsK
KyAgICAgICAgICAgICAgICByZXR1cm4gMjsKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBj
b25maWd1cmFibGU6IHRydWUKKyAgICAgICAgfSk7CisKKyAgICAgICAgdmFyIENvbiA9IGZ1bmN0
aW9uICgpIHt9OworICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87CisKKyAgICAgICAgdmFy
IGNoaWxkID0gbmV3IENvbigpOworICAgICAgICBjaGlsZFsxXSA9IDE7CisgICAgICAgIGNoaWxk
WzJdID0gMjsKKworICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNh
bGwoY2hpbGQsIDEpID09PSAxICYmCisgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdElu
ZGV4T2YuY2FsbChjaGlsZCwgMikgPT09IC0xOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3Rv
dHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKKyAg
ICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0yLTExLmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNS0yLTEyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMi0xMi5qcwkocmV2aXNpb24gMTk5
NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNS0yLTEyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ1ICsxLDQ1IEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1F
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE1LTItMTIiLA0K
LQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUv
MTUuNC40LjE1LTItMTIuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlw
ZS5sYXN0SW5kZXhPZiB3aGVuICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRo
b3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwNCi0NCi0gICAgdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgb2JqID0geyAwOiAxIH07
DQotICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KLSAgICAg
ICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KLSAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTog
dHJ1ZQ0KLSAgICAgICAgfSk7DQotDQotICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxh
c3RJbmRleE9mLmNhbGwob2JqLCAxKSA9PT0gLTE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5
LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5
KTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
Ly8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE1LTIt
MTIiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40
LjE1LzE1LjQuNC4xNS0yLTEyLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90
eXBlLmxhc3RJbmRleE9mIHdoZW4gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdp
dGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAorCisgICAgdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgdmFyIG9iaiA9IHsgMDogMSB9Owor
ICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgeworICAgICAgICAg
ICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sCisgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUK
KyAgICAgICAgfSk7CisKKyAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhP
Zi5jYWxsKG9iaiwgMSkgPT09IC0xOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5s
YXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKKyAgICB9CisK
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0yLTEyLmpzCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
b2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNS0yLTEzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMi0xMy5qcwkocmV2aXNpb24gMTk5NTQ5KQor
KysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NS0yLTEzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU1ICsxLDU1IEBACi0vLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0v
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE1LTItMTMiLA0KLQ0KLSAg
ICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40
LjE1LTItMTMuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0
SW5kZXhPZiB3aGVuICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEg
Z2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0
eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgew0KLSAgICAgICAgdHJ5IHsNCi0gICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVy
dHkoT2JqZWN0LnByb3RvdHlwZSwgImxlbmd0aCIsIHsNCi0gICAgICAgICAgICAgICAgZ2V0OiBm
dW5jdGlvbiAoKSB7DQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQotICAgICAgICAg
ICAgICAgIH0sDQotICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KLSAgICAgICAg
ICAgIH0pOw0KLQ0KLSAgICAgICAgICAgIHZhciBvYmogPSB7IDE6IDEgfTsNCi0gICAgICAgICAg
ICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KLSAgICAgICAgICAgICAg
ICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCi0gICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0
cnVlDQotICAgICAgICAgICAgfSk7DQotDQotICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3Rv
dHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMSkgPT09IC0xOw0KLSAgICAgICAgfSBmaW5hbGx5
IHsNCi0gICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGg7DQotICAgICAg
ICB9DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0K
LSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYg
Zm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisv
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE1LTItMTMiLAorCisgICAgcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTEzLmpzIiwKKwor
ICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gJ2xlbmd0
aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBv
dmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ug
b2JqZWN0IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgICAgICB0cnkg
eworICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJs
ZW5ndGgiLCB7CisgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAg
ICAgICAgICAgIHJldHVybiAyMDsKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAg
IGNvbmZpZ3VyYWJsZTogdHJ1ZQorICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIHZhciBv
YmogPSB7IDE6IDEgfTsKKyAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJs
ZW5ndGgiLCB7CisgICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sCisgICAgICAg
ICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCisgICAgICAgICAgICB9KTsKKworICAgICAgICAg
ICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMSkgPT09IC0x
OworICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5
cGUubGVuZ3RoOworICAgICAgICB9CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxh
c3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOworICAgIH0KKwor
fSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTItMTMuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE1LTItMTQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0yLTE0LmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1
LTItMTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTEgKzEsNTEgQEAKLS8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
DQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtMi0xNCIsDQotDQotICAg
IHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQu
MTUtMi0xNC5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJ
bmRleE9mIHdoZW4gJ2xlbmd0aCcgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhv
dXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLA0KLQ0KLSAgICB0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciBwcm90byA9IHt9Ow0KLSAg
ICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KLSAgICAgICAg
ICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KLSAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1
ZQ0KLSAgICAgICAgfSk7DQotDQotICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQot
ICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQotDQotICAgICAgICB2YXIgY2hpbGQgPSBu
ZXcgQ29uKCk7DQotICAgICAgICBjaGlsZFswXSA9IHRydWU7DQotDQotICAgICAgICByZXR1cm4g
QXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoY2hpbGQsIHRydWUpID09PSAtMTsNCi0g
ICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAg
ICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0
cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoewor
CisgICAgaWQ6ICIxNS40LjQuMTUtMi0xNCIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItMTQuanMiLAorCisgICAgZGVz
Y3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiAnbGVuZ3RoJyBpcyBp
bmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBB
cnJheS1saWtlIG9iamVjdCIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKwor
ICAgICAgICB2YXIgcHJvdG8gPSB7fTsKKyAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHBy
b3RvLCAibGVuZ3RoIiwgeworICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sCisgICAg
ICAgICAgICBjb25maWd1cmFibGU6IHRydWUKKyAgICAgICAgfSk7CisKKyAgICAgICAgdmFyIENv
biA9IGZ1bmN0aW9uICgpIHt9OworICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87CisKKyAg
ICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOworICAgICAgICBjaGlsZFswXSA9IHRydWU7CisK
KyAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGNoaWxkLCB0
cnVlKSA9PT0gLTE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9m
KSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOworICAgIH0KKworfSk7CgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE1LTItMTQuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQoj
IyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTIt
MTUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNS0yLTE1LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTItMTUuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNDEgKzEsNDEgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtMi0xNSIsDQotDQotICAgIHBhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi0xNS5q
cyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdo
ZW4gJ2xlbmd0aCcgaXMgdW5kZWZpbmVkIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0
IiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIg
b2JqID0geyAwOiBudWxsLCAxOiB1bmRlZmluZWQgfTsNCi0NCi0gICAgICAgIHJldHVybiBBcnJh
eS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIG51bGwpID09PSAtMTsNCi0gICAgfSwN
Ci0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0p
Ow0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAor
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisv
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE1LTItMTUiLAorCisgICAgcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTE1
LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdo
ZW4gJ2xlbmd0aCcgaXMgdW5kZWZpbmVkIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0
IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHZhciBvYmog
PSB7IDA6IG51bGwsIDE6IHVuZGVmaW5lZCB9OworCisgICAgICAgIHJldHVybiBBcnJheS5wcm90
b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIG51bGwpID09PSAtMTsKKyAgICB9LAorCisgICAg
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0
cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE1LTItMTUuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTItMTcuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNS0yLTE3LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTItMTcuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNTUgKzEsNTUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE1LTItMTciLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItMTcuanMiLA0K
LQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuICds
ZW5ndGgnIGlzIHByb3BlcnR5IG9mIHRoZSBkb2N1bWVudCBob3N0IG9iamVjdCIsDQotDQotICAg
IHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9
Ow0KLSAgICAgICAgdHJ5IHsNCi0gICAgICAgICAgICBkb2N1bWVudC5sZW5ndGggPSAyOw0KLQ0K
LSAgICAgICAgICAgIGRvY3VtZW50WzFdID0gdGFyZ2V0T2JqOw0KLSAgICAgICAgICAgIGlmIChB
cnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChkb2N1bWVudCwgdGFyZ2V0T2JqKSAhPT0g
MSkgew0KLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQotICAgICAgICAgICAgfQ0KLQ0K
LSAgICAgICAgICAgIGRvY3VtZW50WzFdID0ge307DQotICAgICAgICAgICAgZG9jdW1lbnRbMl0g
PSB0YXJnZXRPYmo7DQotDQotICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0
SW5kZXhPZi5jYWxsKGRvY3VtZW50LCB0YXJnZXRPYmopID09PSAtMTsNCi0gICAgICAgIH0gZmlu
YWxseSB7DQotICAgICAgICAgICAgZGVsZXRlIGRvY3VtZW50WzFdOw0KLSAgICAgICAgICAgIGRl
bGV0ZSBkb2N1bWVudFsyXTsNCi0gICAgICAgICAgICBkZWxldGUgZG9jdW1lbnQubGVuZ3RoOw0K
LSAgICAgICAgfQ0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4
T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE1
LTItMTciLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjE1LzE1LjQuNC4xNS0yLTE3LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmxhc3RJbmRleE9mIHdoZW4gJ2xlbmd0aCcgaXMgcHJvcGVydHkgb2YgdGhlIGRvY3Vt
ZW50IGhvc3Qgb2JqZWN0IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAg
ICAgICB2YXIgdGFyZ2V0T2JqID0ge307CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBkb2N1
bWVudC5sZW5ndGggPSAyOworCisgICAgICAgICAgICBkb2N1bWVudFsxXSA9IHRhcmdldE9iajsK
KyAgICAgICAgICAgIGlmIChBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChkb2N1bWVu
dCwgdGFyZ2V0T2JqKSAhPT0gMSkgeworICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgZG9jdW1lbnRbMV0gPSB7fTsKKyAgICAgICAgICAg
IGRvY3VtZW50WzJdID0gdGFyZ2V0T2JqOworCisgICAgICAgICAgICByZXR1cm4gQXJyYXkucHJv
dG90eXBlLmxhc3RJbmRleE9mLmNhbGwoZG9jdW1lbnQsIHRhcmdldE9iaikgPT09IC0xOworICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgZGVsZXRlIGRvY3VtZW50WzFdOworICAgICAg
ICAgICAgZGVsZXRlIGRvY3VtZW50WzJdOworICAgICAgICAgICAgZGVsZXRlIGRvY3VtZW50Lmxl
bmd0aDsKKyAgICAgICAgfQorICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5k
ZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMi0xNy5qcwpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMi0xOC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTItMTguanMJKHJl
dmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTUtMi0xOC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NyArMSw0NyBA
QAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0K
LS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
DQotDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQu
NC4xNS0yLTE4IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40
LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTE4LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJB
cnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBBcmd1bWVudHMgb2JqZWN0IHdo
aWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIiwNCi0NCi0gICAgdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgdGFyZ2V0T2JqID0gZnVu
Y3Rpb24gKCkgeyB9Ow0KLSAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbihhLCBiKSB7DQotICAg
ICAgICAgICAgYXJndW1lbnRzWzJdID0gZnVuY3Rpb24gKCkge307DQotICAgICAgICAgICAgcmV0
dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgdGFyZ2V0T2Jq
KSA9PT0gMSAmJg0KLSAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Yu
Y2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1syXSkgPT09IC0xOw0KLSAgICAgICAgfQ0KLQ0KLSAg
ICAgICAgcmV0dXJuIGZ1bmMoMCwgdGFyZ2V0T2JqKTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJy
YXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
eworCisgICAgaWQ6ICIxNS40LjQuMTUtMi0xOCIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItMTguanMiLAorCisgICAg
ZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBBcmd1
bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9k
IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHZhciB0YXJn
ZXRPYmogPSBmdW5jdGlvbiAoKSB7IH07CisgICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24oYSwg
YikgeworICAgICAgICAgICAgYXJndW1lbnRzWzJdID0gZnVuY3Rpb24gKCkge307CisgICAgICAg
ICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJndW1lbnRzLCB0
YXJnZXRPYmopID09PSAxICYmCisgICAgICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJ
bmRleE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbMl0pID09PSAtMTsKKyAgICAgICAgfQor
CisgICAgICAgIHJldHVybiBmdW5jKDAsIHRhcmdldE9iaik7CisgICAgfSwKKworICAgIHByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJy
YXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNS0yLTE4LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAj
IworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0yLTE5LmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTUtMi0xOS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0yLTE5LmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDQ3ICsxLDQ3IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MN
Ci0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0v
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7
DQotDQotICAgIGlkOiAiMTUuNC40LjE1LTItMTkiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItMTkuanMiLA0KLQ0K
LSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRv
IFN0cmluZyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRo
b2QiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZh
ciBzdHIgPSBuZXcgU3RyaW5nKCIwMTIiKTsNCi0gICAgICAgIHRyeSB7DQotICAgICAgICAgICAg
U3RyaW5nLnByb3RvdHlwZVszXSA9ICIzIjsNCi0gICAgICAgICAgICByZXR1cm4gQXJyYXkucHJv
dG90eXBlLmxhc3RJbmRleE9mLmNhbGwoc3RyLCAiMiIpID09PSAyICYmDQotICAgICAgICAgICAg
ICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHN0ciwgIjMiKSA9PT0gLTE7DQot
ICAgICAgICB9IGZpbmFsbHkgew0KLSAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGVbM107DQot
ICAgICAgICB9DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhP
Zik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE1
LTItMTkiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjE1LzE1LjQuNC4xNS0yLTE5LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdCB3aGljaCBpbXBsZW1l
bnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiMDEyIik7CisgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICBTdHJpbmcucHJvdG90eXBlWzNdID0gIjMiOworICAgICAg
ICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHN0ciwgIjIiKSA9
PT0gMiAmJgorICAgICAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxs
KHN0ciwgIjMiKSA9PT0gLTE7CisgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICBTdHJp
bmcucHJvdG90eXBlWzNdOworICAgICAgICB9CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90
eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0yLTE5
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0yLTIuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0y
LTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMi0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ2
ICsxLDQ2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAN
Ci0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0v
Ly8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAi
MTUuNC40LjE1LTItMiIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi0yLmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiAnbGVuZ3RoJyBpcyBvd24gZGF0YSBw
cm9wZXJ0eSBvbiBhbiBBcnJheSIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
ew0KLSAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KLSAgICAgICAgdHJ5IHsNCi0gICAgICAg
ICAgICBBcnJheS5wcm90b3R5cGVbMl0gPSB0YXJnZXRPYmo7DQotDQotICAgICAgICAgICAgcmV0
dXJuIFswLCB0YXJnZXRPYmpdLmxhc3RJbmRleE9mKHRhcmdldE9iaikgPT09IDEgJiYNCi0gICAg
ICAgICAgICAgICAgWzAsIDFdLmxhc3RJbmRleE9mKHRhcmdldE9iaikgPT09IC0xOw0KLSAgICAg
ICAgfSBmaW5hbGx5IHsNCi0gICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0K
LSAgICAgICAgfQ0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4
T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTUt
Mi0yIiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQu
NC4xNS8xNS40LjQuMTUtMi0yLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90
eXBlLmxhc3RJbmRleE9mIHdoZW4gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4g
QXJyYXkiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgICAgICAgIHZhciB0
YXJnZXRPYmogPSB7fTsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIEFycmF5LnByb3RvdHlw
ZVsyXSA9IHRhcmdldE9iajsKKworICAgICAgICAgICAgcmV0dXJuIFswLCB0YXJnZXRPYmpdLmxh
c3RJbmRleE9mKHRhcmdldE9iaikgPT09IDEgJiYKKyAgICAgICAgICAgICAgICBbMCwgMV0ubGFz
dEluZGV4T2YodGFyZ2V0T2JqKSA9PT0gLTE7CisgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOworICAgICAgICB9CisgICAgfSwKKworICAg
IHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNS0yLTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTItMjAuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNS0yLTIwLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTItMjAuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNS0yLTIwIiwNCi0NCi0gICAgcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTIwLmpz
IiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBw
bGllZCB0byBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBn
ZXQgbWV0aG9kIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAg
ICAgICB2YXIgb2JqID0gbmV3IEZ1bmN0aW9uKCJhLCBiIiwgInJldHVybiBhICsgYiIpOyAvL3Zh
bHVlIG9mIG9iaiBsZW5ndGggcHJvcGVydHkgd2lsbCBiZSAyOw0KLSAgICAgICAgb2JqWzFdID0g
ImIiOw0KLSAgICAgICAgb2JqWzJdID0gImMiOw0KLQ0KLSAgICAgICAgcmV0dXJuIEFycmF5LnBy
b3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgb2JqWzFdKSA9PT0gMSAmJg0KLSAgICAgICAg
ICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgb2JqWzJdKSA9PT0gLTE7
DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAg
ICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotICAg
IH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKwor
CitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworCisgICAgaWQ6ICIxNS40LjQuMTUtMi0yMCIs
CisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUv
MTUuNC40LjE1LTItMjAuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUu
bGFzdEluZGV4T2YgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRz
IG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgeworCisgICAgICAgIHZhciBvYmogPSBuZXcgRnVuY3Rpb24oImEsIGIiLCAicmV0dXJuIGEg
KyBiIik7IC8vdmFsdWUgb2Ygb2JqIGxlbmd0aCBwcm9wZXJ0eSB3aWxsIGJlIDI7CisgICAgICAg
IG9ialsxXSA9ICJiIjsKKyAgICAgICAgb2JqWzJdID0gImMiOworCisgICAgICAgIHJldHVybiBB
cnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIG9ialsxXSkgPT09IDEgJiYKKyAg
ICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgb2JqWzJdKSA9
PT0gLTE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewor
ICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyAg
ICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0yLTIwLmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNS0yLTMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0yLTMuanMJKHJldmlzaW9uIDE5OTU0
OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTUtMi0zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ4ICsxLDQ4IEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtMi0zIiwNCi0N
Ci0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1
LjQuNC4xNS0yLTMuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5s
YXN0SW5kZXhPZiB3aGVuICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJp
ZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwN
Ci0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgcHJv
dG8gPSB7bGVuZ3RoOiAwfTsNCi0NCi0gICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsN
Ci0gICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCi0NCi0gICAgICAgIHZhciBjaGlsZCA9
IG5ldyBDb24oKTsNCi0gICAgICAgIGNoaWxkLmxlbmd0aCA9IDI7DQotICAgICAgICBjaGlsZFsx
XSA9IGNoaWxkOw0KLQ0KLSAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhP
Zi5jYWxsKGNoaWxkLCBjaGlsZCkgPT09IDE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnBy
b3RvdHlwZS5sYXN0SW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKKwor
ICAgIGlkOiAiMTUuNC40LjE1LTItMyIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItMy5qcyIsCisKKyAgICBkZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuICdsZW5ndGgnIGlzIG93biBk
YXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9u
IGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
eworCisgICAgICAgIHZhciBwcm90byA9IHtsZW5ndGg6IDB9OworCisgICAgICAgIHZhciBDb24g
PSBmdW5jdGlvbiAoKSB7fTsKKyAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOworCisgICAg
ICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsKKyAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsKKyAg
ICAgICAgY2hpbGRbMV0gPSBjaGlsZDsKKworICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBl
Lmxhc3RJbmRleE9mLmNhbGwoY2hpbGQsIGNoaWxkKSA9PT0gMTsKKyAgICB9LAorCisgICAgcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhB
cnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE1LTItMy5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMi00LmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTUtMi00LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTItNC5qcwkod29ya2luZyBjb3B5
KQpAQCAtMSw0NCArMSw0NCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
DQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQot
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0K
LSAgICBpZDogIjE1LjQuNC4xNS0yLTQiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItNC5qcyIsDQotDQotICAgIGRl
c2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gJ2xlbmd0aCcgaXMg
b3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVy
dHkgb24gYW4gQXJyYXkiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0g
ICAgICAgIHZhciB0YXJnZXRPYmogPSBuZXcgT2JqZWN0KCk7DQotICAgICAgICB0cnkgew0KLSAg
ICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSAwOw0KLSAgICAgICAgICAgIHJldHVy
biBbMCwgdGFyZ2V0T2JqLCAyXS5sYXN0SW5kZXhPZih0YXJnZXRPYmopID09PSAxOw0KLSAgICAg
ICAgfSBmaW5hbGx5IHsNCi0gICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlLmxlbmd0
aDsNCi0gICAgICAgIH0NCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJ
bmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40
LjE1LTItNCIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMTUvMTUuNC40LjE1LTItNC5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnBy
b3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRo
YXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5IiwKKwor
ICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgICAgICB2YXIgdGFyZ2V0T2JqID0g
bmV3IE9iamVjdCgpOworICAgICAgICB0cnkgeworICAgICAgICAgICAgQXJyYXkucHJvdG90eXBl
Lmxlbmd0aCA9IDA7CisgICAgICAgICAgICByZXR1cm4gWzAsIHRhcmdldE9iaiwgMl0ubGFzdElu
ZGV4T2YodGFyZ2V0T2JqKSA9PT0gMTsKKyAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
IGRlbGV0ZSBBcnJheS5wcm90b3R5cGUubGVuZ3RoOworICAgICAgICB9CisgICAgfSwKKworICAg
IHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNS0yLTQuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTItNS5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE1LTItNS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0yLTUuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNTMgKzEsNTMgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
Uw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0K
LS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
ew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNS0yLTUiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItNS5qcyIsDQotDQot
ICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gJ2xlbmd0
aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vz
c29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwNCi0NCi0gICAgdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCi0gICAgICAgIE9i
amVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCi0gICAgICAgICAgICBnZXQ6
IGZ1bmN0aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgcmV0dXJuIDA7DQotICAgICAgICAgICAg
fSwNCi0gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCi0gICAgICAgIH0pOw0KLQ0KLSAg
ICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KLSAgICAgICAgQ29uLnByb3RvdHlwZSA9
IHByb3RvOw0KLQ0KLSAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KLSAgICAgICAgY2hp
bGQubGVuZ3RoID0gMjsNCi0gICAgICAgIGNoaWxkWzFdID0gbnVsbDsNCi0NCi0gICAgICAgIHJl
dHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgbnVsbCkgPT09IDE7
DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAg
ICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5F
eGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAK
Ky8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggeworCisgICAgaWQ6ICIxNS40LjQuMTUtMi01IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi01LmpzIiwKKworICAg
IGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gJ2xlbmd0aCcg
aXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29y
IHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworICAgICAgICB2YXIgcHJvdG8gPSB7fTsKKyAgICAgICAgT2JqZWN0LmRl
ZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgeworICAgICAgICAgICAgZ2V0OiBmdW5jdGlv
biAoKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICB9LAorICAgICAg
ICAgICAgY29uZmlndXJhYmxlOiB0cnVlCisgICAgICAgIH0pOworCisgICAgICAgIHZhciBDb24g
PSBmdW5jdGlvbiAoKSB7fTsKKyAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOworCisgICAg
ICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsKKyAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsKKyAg
ICAgICAgY2hpbGRbMV0gPSBudWxsOworCisgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUu
bGFzdEluZGV4T2YuY2FsbChjaGlsZCwgbnVsbCkgPT09IDE7CisgICAgfSwKKworICAgIHByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJy
YXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVy
dHkpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTItNS5qcwpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTUtMi02LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMi02LmpzCShyZXZpc2lv
biAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE1LTItNi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0OSArMSw0OSBAQAotLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNS0yLTYi
LA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQu
MTUvMTUuNC40LjE1LTItNi5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90
eXBlLmxhc3RJbmRleE9mIHdoZW4gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBv
dmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5IiwNCi0N
Ci0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICAgICAgICB2YXIgdGFyZ2V0T2Jq
ID0gbmV3IERhdGUoKTsNCi0gICAgICAgIHRyeSB7DQotICAgICAgICAgICAgT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgImxlbmd0aCIsIHsNCi0gICAgICAgICAgICAgICAg
Z2V0OiBmdW5jdGlvbiAoKSB7DQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsNCi0gICAg
ICAgICAgICAgICAgfSwNCi0gICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQotICAg
ICAgICAgICAgfSk7DQotICAgICAgICAgICAgcmV0dXJuIFswLCB0YXJnZXRPYmosIDJdLmxhc3RJ
bmRleE9mKHRhcmdldE9iaikgPT09IDE7DQotICAgICAgICB9IGZpbmFsbHkgew0KLSAgICAgICAg
ICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGUubGVuZ3RoOw0KLSAgICAgICAgfQ0KLSAgICB9LA0K
LQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVy
biBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVj
dC5kZWZpbmVQcm9wZXJ0eSk7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBp
ZDogIjE1LjQuNC4xNS0yLTYiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTYuanMiLAorCisgICAgZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiAnbGVuZ3RoJyBpcyBvd24gZGF0YSBw
cm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24g
YW4gQXJyYXkiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgICAgICAgIHZh
ciB0YXJnZXRPYmogPSBuZXcgRGF0ZSgpOworICAgICAgICB0cnkgeworICAgICAgICAgICAgT2Jq
ZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgImxlbmd0aCIsIHsKKyAgICAgICAg
ICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7
CisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUK
KyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgcmV0dXJuIFswLCB0YXJnZXRPYmosIDJdLmxh
c3RJbmRleE9mKHRhcmdldE9iaikgPT09IDE7CisgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlLmxlbmd0aDsKKyAgICAgICAgfQorICAgIH0sCisK
KyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZu
RXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRl
ZmluZVByb3BlcnR5KTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0yLTYuanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTItNy5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTItNy5q
cwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNS0yLTcuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDkgKzEs
NDkgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8v
LyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0K
LS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQot
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyAN
Ci0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40
LjQuMTUtMi03IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40
LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTcuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFy
cmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBk
YXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwNCi0NCi0gICAgdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9
Ow0KLQ0KLSAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KLSAgICAgICAgQ29uLnBy
b3RvdHlwZSA9IHByb3RvOw0KLQ0KLSAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KLSAg
ICAgICAgY2hpbGRbMV0gPSAieCI7DQotICAgICAgICBjaGlsZFsyXSA9ICJ5IjsNCi0NCi0gICAg
ICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgIngiKSA9
PT0gMSAmJg0KLSAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChj
aGlsZCwgInkiKSA9PT0gLTE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5s
YXN0SW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1
LjQuNC4xNS0yLTciLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40
LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTcuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJh
eS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiAnbGVuZ3RoJyBpcyBhbiBpbmhlcml0ZWQgZGF0
YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCisKKyAgICB0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9OworCisg
ICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsKKyAgICAgICAgQ29uLnByb3RvdHlwZSA9
IHByb3RvOworCisgICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsKKyAgICAgICAgY2hpbGRb
MV0gPSAieCI7CisgICAgICAgIGNoaWxkWzJdID0gInkiOworCisgICAgICAgIHJldHVybiBBcnJh
eS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgIngiKSA9PT0gMSAmJgorICAgICAg
ICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGNoaWxkLCAieSIpID09PSAt
MTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAg
ICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOworICAgIH0K
KworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTItNy5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTUtMi04LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMi04LmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1
LTItOC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0OSArMSw0OSBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNS0yLTgiLA0KLQ0KLSAgICBw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1
LTItOC5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRl
eE9mIHdoZW4gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxp
a2Ugb2JqZWN0IiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAg
ICAgICB2YXIgb2JqID0geyAxOiB0cnVlLCAyOiBmYWxzZSB9Ow0KLQ0KLSAgICAgICAgT2JqZWN0
LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCi0gICAgICAgICAgICBnZXQ6IGZ1bmN0
aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgcmV0dXJuIDI7DQotICAgICAgICAgICAgfSwNCi0g
ICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCi0gICAgICAgIH0pOw0KLQ0KLSAgICAgICAg
cmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDEg
JiYNCi0gICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIGZh
bHNlKSA9PT0gLTE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5k
ZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsNCi0gICAgfQ0KLQ0KLX0p
Ow0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAor
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisv
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE1LTItOCIsCisKKyAgICBwYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItOC5q
cyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVu
ICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVj
dCIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIgb2Jq
ID0geyAxOiB0cnVlLCAyOiBmYWxzZSB9OworCisgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0
eShvYmosICJsZW5ndGgiLCB7CisgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gMjsKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBjb25maWd1
cmFibGU6IHRydWUKKyAgICAgICAgfSk7CisKKyAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlw
ZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDEgJiYKKyAgICAgICAgICAgIEFycmF5
LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgZmFsc2UpID09PSAtMTsKKyAgICB9LAor
CisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5k
ZWZpbmVQcm9wZXJ0eSk7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMi04Lmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0yLTkuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0yLTku
anMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMi05LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU0ICsx
LDU0IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0v
Ly8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQN
Ci0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0K
LS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8g
DQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUu
NC40LjE1LTItOSIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUu
NC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi05LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJB
cnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3Ig
cHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4g
QXJyYXktbGlrZSBvYmplY3QiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsN
Ci0NCi0gICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAwIH07DQotDQotICAgICAgICB2YXIg
Q29uID0gZnVuY3Rpb24gKCkge307DQotICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQot
DQotICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQotICAgICAgICBjaGlsZFsxXSA9IGV2
YWw7DQotDQotICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7
DQotICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQotICAgICAgICAgICAgICAgIHJldHVy
biAyOw0KLSAgICAgICAgICAgIH0sDQotICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQot
ICAgICAgICB9KTsNCi0NCi0gICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4
T2YuY2FsbChjaGlsZCwgZXZhbCkgPT09IDE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnBy
b3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsN
Ci0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8v
IAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE1LTItOSIs
CisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUv
MTUuNC40LjE1LTItOS5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5s
YXN0SW5kZXhPZiB3aGVuICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92
ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVj
dCIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIgcHJv
dG8gPSB7IGxlbmd0aDogMCB9OworCisgICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsK
KyAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOworCisgICAgICAgIHZhciBjaGlsZCA9IG5l
dyBDb24oKTsKKyAgICAgICAgY2hpbGRbMV0gPSBldmFsOworCisgICAgICAgIE9iamVjdC5kZWZp
bmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsKKyAgICAgICAgICAgIGdldDogZnVuY3Rpb24g
KCkgeworICAgICAgICAgICAgICAgIHJldHVybiAyOworICAgICAgICAgICAgfSwKKyAgICAgICAg
ICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQorICAgICAgICB9KTsKKworICAgICAgICByZXR1cm4gQXJy
YXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoY2hpbGQsIGV2YWwpID09PSAxOworICAgIH0s
CisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJu
IGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0
LmRlZmluZVByb3BlcnR5KTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0yLTku
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTMtMS5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTMt
MS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDEg
KzEsNDEgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLQ0KLSAgICBpZDog
IjE1LjQuNC4xNS0zLTEiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40
LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMS5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2xlbmd0aCcgaXMg
dW5kZWZpbmVkIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAg
ICAgICB2YXIgb2JqID0geyAwOiAxLCAxOiAxLCBsZW5ndGg6IHVuZGVmaW5lZCB9Ow0KLQ0KLSAg
ICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMSkgPT09
IC0xOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsN
Ci0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOw0K
LSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
CisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8g
CisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CisKKyAgICBpZDogIjE1LjQuNC4xNS0zLTEi
LAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1
LzE1LjQuNC4xNS0zLTEuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUu
bGFzdEluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyB1bmRlZmluZWQiLAorCisgICAg
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgdmFyIG9iaiA9IHsgMDogMSwg
MTogMSwgbGVuZ3RoOiB1bmRlZmluZWQgfTsKKworICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90
eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAxKSA9PT0gLTE7CisgICAgfSwKKworICAgIHByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJy
YXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNS0zLTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTMtMTAuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNS0zLTEwLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTMtMTAuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNDEgKzEsNDEgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LQ0KLSAgICBpZDogIjE1LjQuNC4xNS0zLTEwIiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTEwLmpzIiwNCi0NCi0g
ICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiB2YWx1ZSBv
ZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgTmFOKSIsDQotDQotICAgIHRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgbGVuZ3Ro
OiBOYU4gfTsNCi0NCi0gICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Yu
Y2FsbChvYmosIDApID09PSAtMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
Lmxhc3RJbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwor
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworCisgICAgaWQ6
ICIxNS40LjQuMTUtMy0xMCIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40
LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTAuanMiLAorCisgICAgZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBh
IG51bWJlciAodmFsdWUgaXMgTmFOKSIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsKKworICAgICAgICB2YXIgb2JqID0geyAwOiAwLCBsZW5ndGg6IE5hTiB9OworCisgICAgICAg
IHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDApID09PSAtMTsK
KyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAg
IHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOworICAgIH0KKwor
fSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTMtMTAuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE1LTMtMTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTExLmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1
LTMtMTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
DQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNS0zLTExIiwNCi0NCi0g
ICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQu
NC4xNS0zLTExLmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFz
dEluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIHBv
c2l0aXZlIG51bWJlciIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0K
LSAgICAgICAgdmFyIG9iaiA9IHsxOiB0cnVlLCAyOiBmYWxzZSwgbGVuZ3RoOiAiMiJ9Ow0KLQ0K
LSAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1
ZSkgPT09IDEgJiYNCi0gICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2Fs
bChvYmosIGZhbHNlKSA9PT0gLTE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlw
ZS5sYXN0SW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MK
Ky8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKKworICAgIGlk
OiAiMTUuNC40LjE1LTMtMTEiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTExLmpzIiwKKworICAgIGRlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2xlbmd0aCcgaXMg
YSBzdHJpbmcgY29udGFpbmluZyBwb3NpdGl2ZSBudW1iZXIiLAorCisgICAgdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgdmFyIG9iaiA9IHsxOiB0cnVlLCAyOiBmYWxzZSwg
bGVuZ3RoOiAiMiJ9OworCisgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4
T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmCisgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUu
bGFzdEluZGV4T2YuY2FsbChvYmosIGZhbHNlKSA9PT0gLTE7CisgICAgfSwKKworICAgIHByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJy
YXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNS0zLTExLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAj
IworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTEyLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTUtMy0xMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTEyLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MN
Ci0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0v
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsN
Ci0NCi0gICAgaWQ6ICIxNS40LjQuMTUtMy0xMiIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy0xMi5qcyIsDQotDQot
ICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gdmFsdWUg
b2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBuZWdhdGl2ZSBudW1iZXIiLA0KLQ0K
LSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciBvYmogPSB7
MTogbnVsbCwgMjogdW5kZWZpbmVkLCBsZW5ndGg6ICItNDI5NDk2NzI5NCJ9Ow0KLQ0KLSAgICAg
ICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgbnVsbCkgPT09
IDEgJiYNCi0gICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmos
IHVuZGVmaW5lZCkgPT09IC0xOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUu
bGFzdEluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisv
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CisKKyAgICBpZDog
IjE1LjQuNC4xNS0zLTEyIiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy0xMi5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjog
IkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEg
c3RyaW5nIGNvbnRhaW5pbmcgbmVnYXRpdmUgbnVtYmVyIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworCisgICAgICAgIHZhciBvYmogPSB7MTogbnVsbCwgMjogdW5kZWZpbmVk
LCBsZW5ndGg6ICItNDI5NDk2NzI5NCJ9OworCisgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5
cGUubGFzdEluZGV4T2YuY2FsbChvYmosIG51bGwpID09PSAxICYmCisgICAgICAgICAgICBBcnJh
eS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHVuZGVmaW5lZCkgPT09IC0xOworICAg
IH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0
dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CisgICAgfQorCit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy0xMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTUtMy0xMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTMtMTMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy0x
My5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNS0zLTEzIiwNCi0NCi0gICAgcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0z
LTEzLmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4
T2Ygd2hlbiB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgZGVjaW1h
bCBudW1iZXIiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAg
ICAgIHZhciBvYmogPSB7IDQ6IDQsIDU6IDUsIGxlbmd0aDogIjUuNTEyMzQ1IiB9Ow0KLQ0KLSAg
ICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgNCkgPT09
IDQgJiYNCi0gICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmos
IDUpID09PSAtMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRl
eE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE1
LTMtMTMiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjE1LzE1LjQuNC4xNS0zLTEzLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmxhc3RJbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29u
dGFpbmluZyBhIGRlY2ltYWwgbnVtYmVyIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgeworCisgICAgICAgIHZhciBvYmogPSB7IDQ6IDQsIDU6IDUsIGxlbmd0aDogIjUuNTEyMzQ1
IiB9OworCisgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChv
YmosIDQpID09PSA0ICYmCisgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Yu
Y2FsbChvYmosIDUpID09PSAtMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFz
dEluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTMtMTMuanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTMtMTQuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTE0Lmpz
CShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE1LTMtMTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDUgKzEs
NDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8v
LyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0K
LS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQot
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyAN
Ci0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLQ0KLSAgICBpZDogIjE1
LjQuNC4xNS0zLTE0IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTE0LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBh
IHN0cmluZyBjb250YWluaW5nICsvLUluZmluaXR5IiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgb2JqT25lID0geyAwOiB0cnVlLCAxOiB0cnVl
LCBsZW5ndGg6ICJJbmZpbml0eSIgfTsNCi0gICAgICAgIHZhciBvYmpUd28gPSB7IDA6IHRydWUs
IDE6IHRydWUsIGxlbmd0aDogIitJbmZpbml0eSIgfTsNCi0gICAgICAgIHZhciBvYmpUaHJlZSA9
IHsgMDogdHJ1ZSwgMTogdHJ1ZSwgbGVuZ3RoOiAiLUluZmluaXR5IiB9Ow0KLQ0KLSAgICAgICAg
cmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iak9uZSwgdHJ1ZSkgPT09
IC0xICYmDQotICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2Jq
VHdvLCB0cnVlKSA9PT0gLTEgJiYNCi0gICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdElu
ZGV4T2YuY2FsbChvYmpUaHJlZSwgdHJ1ZSkgPT09IC0xOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhB
cnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7CisKKyAgICBpZDogIjE1LjQuNC4xNS0zLTE0IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy0xNC5qcyIsCisKKyAg
ICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuIHZhbHVlIG9m
ICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgKy8tSW5maW5pdHkiLAorCisgICAgdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgdmFyIG9iak9uZSA9IHsgMDogdHJ1
ZSwgMTogdHJ1ZSwgbGVuZ3RoOiAiSW5maW5pdHkiIH07CisgICAgICAgIHZhciBvYmpUd28gPSB7
IDA6IHRydWUsIDE6IHRydWUsIGxlbmd0aDogIitJbmZpbml0eSIgfTsKKyAgICAgICAgdmFyIG9i
alRocmVlID0geyAwOiB0cnVlLCAxOiB0cnVlLCBsZW5ndGg6ICItSW5maW5pdHkiIH07CisKKyAg
ICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iak9uZSwgdHJ1
ZSkgPT09IC0xICYmCisgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2Fs
bChvYmpUd28sIHRydWUpID09PSAtMSAmJgorICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxh
c3RJbmRleE9mLmNhbGwob2JqVGhyZWUsIHRydWUpID09PSAtMTsKKyAgICB9LAorCisgICAgcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhB
cnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE1LTMtMTQuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsx
ICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTMtMTUuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNS0zLTE1LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTMtMTUuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
Uw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0K
LS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
ew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNS0zLTE1IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTE1LmpzIiwNCi0N
Ci0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiB2YWx1
ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50aWFsIG51bWJl
ciIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgdmFy
IG9iaiA9IHsyMjk6IDIyOSwgMjMwOiAyLjNFMiwgbGVuZ3RoOiAiMi4zRTIifTsNCi0NCi0gICAg
ICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDIyOSkgPT09
IDIyOSAmJg0KLSAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9i
aiwgMi4zRTIpID09PSAtMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxh
c3RJbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IK
Ky8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworCisgICAgaWQ6ICIx
NS40LjQuMTUtMy0xNSIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1
LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTUuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJB
cnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0
cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50aWFsIG51bWJlciIsCisKKyAgICB0ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIgb2JqID0gezIyOTogMjI5LCAyMzA6IDIu
M0UyLCBsZW5ndGg6ICIyLjNFMiJ9OworCisgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUu
bGFzdEluZGV4T2YuY2FsbChvYmosIDIyOSkgPT09IDIyOSAmJgorICAgICAgICAgICAgQXJyYXku
cHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAyLjNFMikgPT09IC0xOworICAgIH0sCisK
KyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZu
RXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTUtMy0xNS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMj
IC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy0x
Ni5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE1LTMtMTYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy0xNi5qcwko
d29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNS0zLTE2IiwNCi0NCi0gICAgcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTE2Lmpz
IiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hl
biB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyB3aGljaCBpcyBhYmxlIHRvIGJlIGNvbnZl
cnRlZCBpbnRvIGhleCBudW1iZXIiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsNCi0NCi0gICAgICAgIHZhciBvYmogPSB7IDI1NzM6IDI1NzMsIDI1NzQ6IDB4MDAwQTBFLCBs
ZW5ndGg6ICIweDAwMEEwRSIgfTsNCi0NCi0gICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUu
bGFzdEluZGV4T2YuY2FsbChvYmosIDI1NzMpID09PSAyNTczICYmDQotICAgICAgICAgICAgQXJy
YXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAweDAwMEEwRSkgPT09IC0xOw0KLSAg
ICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAg
IHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOw0KLSAgICB9DQot
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTUtMy0xNiIsCisKKyAgICBw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1
LTMtMTYuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4
T2Ygd2hlbiB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyB3aGljaCBpcyBhYmxlIHRvIGJl
IGNvbnZlcnRlZCBpbnRvIGhleCBudW1iZXIiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7CisKKyAgICAgICAgdmFyIG9iaiA9IHsgMjU3MzogMjU3MywgMjU3NDogMHgwMDBBMEUs
IGxlbmd0aDogIjB4MDAwQTBFIiB9OworCisgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUu
bGFzdEluZGV4T2YuY2FsbChvYmosIDI1NzMpID09PSAyNTczICYmCisgICAgICAgICAgICBBcnJh
eS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDB4MDAwQTBFKSA9PT0gLTE7CisgICAg
fSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNS0zLTE2LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NS0zLTE3LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy0xNy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTE3
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE1LTMtMTciLA0KLQ0KLSAgICBwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMt
MTcuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhP
ZiB3aGVuIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBudW1iZXIg
d2l0aCBsZWFkaW5nIHplcm9zIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
DQotDQotICAgICAgICB2YXIgb2JqID0geyAxOiAxLCAyOiAyLCBsZW5ndGg6ICIwMDAyLjAiIH07
DQotDQotICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2Jq
LCAxKSA9PT0gMSAmJg0KLSAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5j
YWxsKG9iaiwgMikgPT09IC0xOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUu
bGFzdEluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisv
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIx
NS40LjQuMTUtMy0xNyIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1
LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTcuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJB
cnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0
cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcyIsCisKKyAgICB0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIgb2JqID0geyAxOiAxLCAyOiAy
LCBsZW5ndGg6ICIwMDAyLjAiIH07CisKKyAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5s
YXN0SW5kZXhPZi5jYWxsKG9iaiwgMSkgPT09IDEgJiYKKyAgICAgICAgICAgIEFycmF5LnByb3Rv
dHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMikgPT09IC0xOworICAgIH0sCisKKyAgICBwcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFy
cmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTUtMy0xNy5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy0xOC5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE1LTMtMTguanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy0xOC5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSw0MSArMSw0MSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
DQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQot
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
DQotDQotICAgIGlkOiAiMTUuNC40LjE1LTMtMTgiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTguanMiLA0KLQ0K
LSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuIHZhbHVl
IG9mICdsZW5ndGgnIGlzIGEgc3RyaW5nIHRoYXQgY2FuJ3QgY29udmVydCB0byBhIG51bWJlciIs
DQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgICAgICAgdmFyIHRhcmdl
dE9iaiA9IG5ldyBTdHJpbmcoIjEyM2FiYzEyMyIpOw0KLSAgICAgICAgdmFyIG9iaiA9IHsgMDog
dGFyZ2V0T2JqLCBsZW5ndGg6ICIxMjNhYmMxMjMiIH07DQotDQotICAgICAgICByZXR1cm4gQXJy
YXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAtMTsNCi0g
ICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAg
ICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0gICAgfQ0K
LQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAor
Ly8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQK
Ky8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgor
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggeworCisgICAgaWQ6ICIxNS40LjQuMTUtMy0xOCIsCisKKyAg
ICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40
LjE1LTMtMTguanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdElu
ZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyB0aGF0IGNhbid0IGNvbnZl
cnQgdG8gYSBudW1iZXIiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgICAg
ICAgIHZhciB0YXJnZXRPYmogPSBuZXcgU3RyaW5nKCIxMjNhYmMxMjMiKTsKKyAgICAgICAgdmFy
IG9iaiA9IHsgMDogdGFyZ2V0T2JqLCBsZW5ndGg6ICIxMjNhYmMxMjMiIH07CisKKyAgICAgICAg
cmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9
PT0gLTE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewor
ICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyAg
ICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTE4LmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNS0zLTE5LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy0xOS5qcwkocmV2aXNpb24gMTk5
NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNS0zLTE5LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU4ICsxLDU4IEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1F
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE1LTMtMTkiLA0K
LQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUv
MTUuNC40LjE1LTMtMTkuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlw
ZS5sYXN0SW5kZXhPZiB3aGVuIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIE9iamVjdCB3aGljaCBo
YXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZCIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgew0KLQ0KLSAgICAgICAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVl
T2YoKSBtZXRob2QgZnJvbSBPYmplY3QNCi0gICAgICAgIC8vIHRoYXQgc2ltcGx5IHJldHVybnMg
aXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQotICAgICAgICAvLyBk
b2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVy
dCB0aGUgb2JqZWN0DQotICAgICAgICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0
cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCi0gICAgICAgIC8vIHJlc3VsdGluZyBz
dHJpbmcgdG8gYSBudW1iZXIuDQotDQotICAgICAgICB2YXIgdGFyZ2V0T2JqID0gd2luZG93Ow0K
LSAgICAgICAgdmFyIG9iaiA9IHsNCi0gICAgICAgICAgICAxOiB0YXJnZXRPYmosDQotICAgICAg
ICAgICAgMjogMiwNCi0NCi0gICAgICAgICAgICBsZW5ndGg6IHsNCi0gICAgICAgICAgICAgICAg
dG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiAnMic7
DQotICAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICB9DQotICAgICAgICB9Ow0KLQ0KLSAg
ICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0
T2JqKSA9PT0gMSAmJg0KLSAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5j
YWxsKG9iaiwgMikgPT09IC0xOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUu
bGFzdEluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisv
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIx
NS40LjQuMTUtMy0xOSIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1
LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTkuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJB
cnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBP
YmplY3Qgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QiLAorCisgICAgdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZh
dWx0IHZhbHVlT2YoKSBtZXRob2QgZnJvbSBPYmplY3QKKyAgICAgICAgLy8gdGhhdCBzaW1wbHkg
cmV0dXJucyBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QKKyAgICAg
ICAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRv
IGNvbnZlcnQgdGhlIG9iamVjdAorICAgICAgICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0
cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUKKyAgICAgICAgLy8gcmVzdWx0
aW5nIHN0cmluZyB0byBhIG51bWJlci4KKworICAgICAgICB2YXIgdGFyZ2V0T2JqID0gd2luZG93
OworICAgICAgICB2YXIgb2JqID0geworICAgICAgICAgICAgMTogdGFyZ2V0T2JqLAorICAgICAg
ICAgICAgMjogMiwKKworICAgICAgICAgICAgbGVuZ3RoOiB7CisgICAgICAgICAgICAgICAgdG9T
dHJpbmc6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH07CisKKyAgICAgICAgcmV0
dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0g
MSAmJgorICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAy
KSA9PT0gLTE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
eworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsK
KyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTE5LmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNS0zLTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTIuanMJKHJldmlzaW9uIDE5
OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTUtMy0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQxICsxLDQxIEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtMy0y
IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40
LjE1LzE1LjQuNC4xNS0zLTIuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3Rv
dHlwZS5sYXN0SW5kZXhPZiByZXR1cm4gLTEgd2hlbiB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIGJv
b2xlYW4gKHZhbHVlIGlzIHRydWUpIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAxOiAxLCBsZW5ndGg6IHRydWUgfTsNCi0g
ICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDApID09
PSAwICYmDQotICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2Jq
LCAxKSA9PT0gLTE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5k
ZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworCisgICAgaWQ6ICIxNS40
LjQuMTUtMy0yIiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40
LzE1LjQuNC4xNS8xNS40LjQuMTUtMy0yLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXku
cHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybiAtMSB3aGVuIHZhbHVlIG9mICdsZW5ndGgnIGlz
IGEgYm9vbGVhbiAodmFsdWUgaXMgdHJ1ZSkiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7CisgICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIGxlbmd0aDogdHJ1ZSB9Owor
ICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAwKSA9
PT0gMCAmJgorICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2Jq
LCAxKSA9PT0gLTE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9m
KTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTIuanMKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE1LTMtMjAuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTIwLmpzCShyZXZpc2lv
biAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE1LTMtMjAuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTIgKzEsNTIgQEAKLS8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNS0z
LTIwIiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjE1LzE1LjQuNC4xNS0zLTIwLmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qg
d2hpY2ggaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgLy92YWx1ZU9mIG1ldGhvZCB3aWxsIGJlIGludm9r
ZWQgZmlyc3QsIHNpbmNlIGhpbnQgaXMgTnVtYmVyDQotICAgICAgICB2YXIgb2JqID0gew0KLSAg
ICAgICAgICAgIDE6IHRydWUsDQotICAgICAgICAgICAgMjogMiwNCi0NCi0gICAgICAgICAgICBs
ZW5ndGg6IHsNCi0gICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KLSAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIDI7DQotICAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAg
ICB9DQotICAgICAgICB9Ow0KLQ0KLSAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0
SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDEgJiYNCi0gICAgICAgICAgICBBcnJheS5wcm90
b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDIpID09PSAtMTsNCi0gICAgfSwNCi0NCi0gICAg
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisv
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggeworCisgICAgaWQ6ICIxNS40LjQuMTUtMy0yMCIsCisKKyAgICBwYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMjAuanMiLAor
CisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiB2YWx1
ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhv
ZCIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICAvL3ZhbHVl
T2YgbWV0aG9kIHdpbGwgYmUgaW52b2tlZCBmaXJzdCwgc2luY2UgaGludCBpcyBOdW1iZXIKKyAg
ICAgICAgdmFyIG9iaiA9IHsKKyAgICAgICAgICAgIDE6IHRydWUsCisgICAgICAgICAgICAyOiAy
LAorCisgICAgICAgICAgICBsZW5ndGg6IHsKKyAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5j
dGlvbiAoKSB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAyOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKworICAgICAgICByZXR1cm4gQXJyYXkucHJv
dG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMSAmJgorICAgICAgICAgICAg
QXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAyKSA9PT0gLTE7CisgICAgfSwK
KworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4g
Zm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNS0zLTIwLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0z
LTIxLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy0yMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTIxLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDU4ICsxLDU4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE1LTMtMjEiLA0KLQ0KLSAgICBwYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMjEu
anMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3
aGVuICdsZW5ndGgnIGlzIGFuIG9iamVjdCB0aGF0IGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2Qg
dGhhdCByZXR1cm5zIGFuIG9iamVjdCBhbmQgdG9TdHJpbmcgbWV0aG9kIHRoYXQgcmV0dXJucyBh
IHN0cmluZyIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAg
ICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCi0gICAgICAgIHZhciB2YWx1ZU9mQWNj
ZXNzZWQgPSBmYWxzZTsNCi0NCi0gICAgICAgIHZhciB0YXJnZXRPYmogPSB0aGlzOw0KLSAgICAg
ICAgdmFyIG9iaiA9IHsNCi0gICAgICAgICAgICAxOiB0YXJnZXRPYmosDQotICAgICAgICAgICAg
bGVuZ3RoOiB7DQotICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQotICAg
ICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCi0gICAgICAgICAgICAg
ICAgICAgIHJldHVybiAnMyc7DQotICAgICAgICAgICAgICAgIH0sDQotDQotICAgICAgICAgICAg
ICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZB
Y2Nlc3NlZCA9IHRydWU7DQotICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQotICAgICAg
ICAgICAgICAgIH0NCi0gICAgICAgICAgICB9DQotICAgICAgICB9Ow0KLQ0KLSAgICAgICAgcmV0
dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0g
MSAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsNCi0gICAgfSwNCi0NCi0g
ICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5F
eGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE1LTMtMjEiLAorCisgICAgcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTIxLmpzIiwK
KworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gJ2xl
bmd0aCcgaXMgYW4gb2JqZWN0IHRoYXQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCB0aGF0IHJl
dHVybnMgYW4gb2JqZWN0IGFuZCB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGEgc3RyaW5n
IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHZhciB0b1N0
cmluZ0FjY2Vzc2VkID0gZmFsc2U7CisgICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxz
ZTsKKworICAgICAgICB2YXIgdGFyZ2V0T2JqID0gdGhpczsKKyAgICAgICAgdmFyIG9iaiA9IHsK
KyAgICAgICAgICAgIDE6IHRhcmdldE9iaiwKKyAgICAgICAgICAgIGxlbmd0aDogeworICAgICAg
ICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgICAgIHRv
U3RyaW5nQWNjZXNzZWQgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzMnOwor
ICAgICAgICAgICAgICAgIH0sCisKKyAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAo
KSB7CisgICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7CisgICAgICAg
ICAgICAgICAgICAgIHJldHVybiB7fTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
CisgICAgICAgIH07CisKKyAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhP
Zi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gMSAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVl
T2ZBY2Nlc3NlZDsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Yp
OworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTMtMjEuanMKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE1LTMtMjIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTIyLmpzCShyZXZpc2lv
biAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE1LTMtMjIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNjIgKzEsNjIgQEAKLS8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNS0z
LTIyIiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjE1LzE1LjQuNC4xNS0zLTIyLmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUubGFzdEluZGV4T2YgdGhyb3dzIFR5cGVFcnJvciBleGNlcHRpb24gd2hlbiAnbGVu
Z3RoJyBpcyBhbiBvYmplY3Qgd2l0aCB0b1N0cmluZyBhbmQgdmFsdWVPZiBtZXRob2RzIHRoYXQg
ZG9uknQgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZXMiLA0KLSAgICANCi0gICAgdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNl
Ow0KLSAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KLQ0KLSAgICAgICAgdmFy
IG9iaiA9IHsNCi0gICAgICAgICAgICAxOiB0cnVlLA0KLSAgICAgICAgICAgIGxlbmd0aDogew0K
LSAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KLSAgICAgICAgICAgICAg
ICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQotICAgICAgICAgICAgICAgICAgICByZXR1
cm4ge307DQotICAgICAgICAgICAgICAgIH0sDQotDQotICAgICAgICAgICAgICAgIHZhbHVlT2Y6
IGZ1bmN0aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRy
dWU7DQotICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQotICAgICAgICAgICAgICAgIH0N
Ci0gICAgICAgICAgICB9DQotICAgICAgICB9Ow0KLQ0KLSAgICAgICAgdHJ5IHsNCi0gICAgICAg
ICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpOw0KLSAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsNCi0gICAgICAgIH0gY2F0Y2ggKGUpIHsNCi0gICAgICAgICAg
ICByZXR1cm4gdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQotICAgICAgICB9
DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAg
ICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotICAg
IH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKwor
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKKworICAgIGlkOiAiMTUuNC40LjE1LTMtMjIiLAor
CisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1
LjQuNC4xNS0zLTIyLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxh
c3RJbmRleE9mIHRocm93cyBUeXBlRXJyb3IgZXhjZXB0aW9uIHdoZW4gJ2xlbmd0aCcgaXMgYW4g
b2JqZWN0IHdpdGggdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kcyB0aGF0IGRvbpJ0IHJldHVy
biBwcmltaXRpdmUgdmFsdWVzIiwKKyAgICAKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsKKworICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOworICAgICAgICB2YXIg
dmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7CisKKyAgICAgICAgdmFyIG9iaiA9IHsKKyAgICAgICAg
ICAgIDE6IHRydWUsCisgICAgICAgICAgICBsZW5ndGg6IHsKKyAgICAgICAgICAgICAgICB0b1N0
cmluZzogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2Vk
ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9OworICAgICAgICAgICAgICAg
IH0sCisKKyAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAg
ICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgIHJl
dHVybiB7fTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH07CisK
KyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5j
YWxsKG9iaiwgdHJ1ZSk7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0gY2F0
Y2ggKGUpIHsKKyAgICAgICAgICAgIHJldHVybiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZB
Y2Nlc3NlZDsKKyAgICAgICAgfQorICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0
SW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy0yMi5qcwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy0yMy5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTMtMjMuanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy0yMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw2MyArMSw2
MyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8v
IA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQot
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0v
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0K
LS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotDQotICAgIGlkOiAiMTUu
NC40LjE1LTMtMjMiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1
LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMjMuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjog
IkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB1c2VzIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhv
ZCB3aGVuICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIGFuIG93biB0b1N0cmluZyBhbmQgYW4g
aW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kcyIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgew0KLQ0KLSAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCi0gICAg
ICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCi0NCi0gICAgICAgIHZhciBwcm90byA9
IHsNCi0gICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQotICAgICAgICAgICAgICAg
IHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQotICAgICAgICAgICAgICAgIHJldHVybiAyOw0KLSAg
ICAgICAgICAgIH0NCi0gICAgICAgIH07DQotDQotICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24g
KCkge307DQotICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQotDQotICAgICAgICB2YXIg
Y2hpbGQgPSBuZXcgQ29uKCk7DQotICAgICAgICBjaGlsZC50b1N0cmluZyA9IGZ1bmN0aW9uICgp
IHsNCi0gICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCi0gICAgICAgICAgICBy
ZXR1cm4gMjsNCi0gICAgICAgIH07DQotDQotICAgICAgICB2YXIgb2JqID0gew0KLSAgICAgICAg
ICAgIDE6IGNoaWxkLA0KLSAgICAgICAgICAgIGxlbmd0aDogY2hpbGQNCi0gICAgICAgIH07DQot
DQotICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCBj
aGlsZCkgPT09IDEgJiYgdmFsdWVPZkFjY2Vzc2VkICYmICF0b1N0cmluZ0FjY2Vzc2VkOw0KLSAg
ICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAg
IHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOw0KLSAgICB9DQot
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7CisKKyAgICBpZDogIjE1LjQuNC4xNS0zLTIzIiwKKworICAg
IHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQu
MTUtMy0yMy5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5k
ZXhPZiB1c2VzIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZCB3aGVuICdsZW5ndGgnIGlzIGFuIG9i
amVjdCB3aXRoIGFuIG93biB0b1N0cmluZyBhbmQgYW4gaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9k
cyIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIgdG9T
dHJpbmdBY2Nlc3NlZCA9IGZhbHNlOworICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFs
c2U7CisKKyAgICAgICAgdmFyIHByb3RvID0geworICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rp
b24gKCkgeworICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7CisgICAgICAg
ICAgICAgICAgcmV0dXJuIDI7CisgICAgICAgICAgICB9CisgICAgICAgIH07CisKKyAgICAgICAg
dmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9OworICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87
CisKKyAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOworICAgICAgICBjaGlsZC50b1N0cmlu
ZyA9IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOwor
ICAgICAgICAgICAgcmV0dXJuIDI7CisgICAgICAgIH07CisKKyAgICAgICAgdmFyIG9iaiA9IHsK
KyAgICAgICAgICAgIDE6IGNoaWxkLAorICAgICAgICAgICAgbGVuZ3RoOiBjaGlsZAorICAgICAg
ICB9OworCisgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChv
YmosIGNoaWxkKSA9PT0gMSAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgIXRvU3RyaW5nQWNjZXNzZWQ7
CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAg
ICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisK
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTIzLmpzCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
b2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNS0zLTI0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy0yNC5qcwkocmV2aXNpb24gMTk5NTQ5KQor
KysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NS0zLTI0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0v
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNS0zLTI0IiwNCi0NCi0g
ICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQu
NC4xNS0zLTI0LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFz
dEluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHBvc2l0aXZlIG5vbi1pbnRlZ2Vy
LCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24iLA0KLQ0K
LSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciBvYmogPSB7
IDEyMjogdHJ1ZSwgMTIzOiBmYWxzZSwgbGVuZ3RoOiAxMjMuNSB9Ow0KLQ0KLSAgICAgICAgcmV0
dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDEyMiAm
Jg0KLSAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgZmFs
c2UpID09PSAtMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRl
eE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4x
NS0zLTI0IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1
LjQuNC4xNS8xNS40LjQuMTUtMy0yNC5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnBy
b3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgcG9zaXRpdmUg
bm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVj
dGlvbiIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIg
b2JqID0geyAxMjI6IHRydWUsIDEyMzogZmFsc2UsIGxlbmd0aDogMTIzLjUgfTsKKworICAgICAg
ICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0g
MTIyICYmCisgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmos
IGZhbHNlKSA9PT0gLTE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRl
eE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTI0LmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTI1LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy0yNS5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNS0zLTI1LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
DQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi0NCi0gICAgaWQ6ICIxNS40LjQu
MTUtMy0yNSIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40
LzE1LjQuNC4xNS8xNS40LjQuMTUtMy0yNS5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBuZWdh
dGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIg
ZGlyZWN0aW9uIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAg
ICAgICB2YXIgb2JqID0geyAxOiB0cnVlLCAyOiBmYWxzZSwgbGVuZ3RoOiAtNDI5NDk2NzI5NC41
IH07DQotDQotICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwo
b2JqLCB0cnVlKSA9PT0gMSAmJg0KLSAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5k
ZXhPZi5jYWxsKG9iaiwgZmFsc2UpID09PSAtMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
CisgICAgaWQ6ICIxNS40LjQuMTUtMy0yNSIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMjUuanMiLAorCisgICAgZGVz
Y3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnbGVu
Z3RoJyBpcyBhIG5lZ2F0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMg
aW4gdGhlIHByb3BlciBkaXJlY3Rpb24iLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7CisKKyAgICAgICAgdmFyIG9iaiA9IHsgMTogdHJ1ZSwgMjogZmFsc2UsIGxlbmd0aDogLTQy
OTQ5NjcyOTQuNSB9OworCisgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4
T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmCisgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUu
bGFzdEluZGV4T2YuY2FsbChvYmosIGZhbHNlKSA9PT0gLTE7CisgICAgfSwKKworICAgIHByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJy
YXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNS0zLTI1LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAj
IworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTI2LmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTUtMy0yNi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTI2LmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDQ2ICsxLDQ2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MN
Ci0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0v
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsN
Ci0NCi0gICAgaWQ6ICIxNS40LjQuMTUtMy0yNiIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy0yNi5qcyIsDQotDQot
ICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gdmFsdWUg
b2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIgLSAyKSIsDQotDQotICAgIHRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0K
LSAgICAgICAgdmFyIG9iaiA9IHsNCi0gICAgICAgICAgICA0Mjk0OTY3MjkzOiB0YXJnZXRPYmos
DQotICAgICAgICAgICAgNDI5NDk2NzI5NDogdHJ1ZSwNCi0gICAgICAgICAgICBsZW5ndGg6IDQy
OTQ5NjcyOTQNCi0gICAgICAgIH07DQotDQotICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBl
Lmxhc3RJbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSA0Mjk0OTY3MjkzOw0KLSAgICB9
LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJl
dHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOw0KLSAgICB9DQotDQot
fSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8g
CisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwK
Ky8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7CisKKyAgICBpZDogIjE1LjQuNC4xNS0zLTI2IiwKKworICAgIHBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUt
My0yNi5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhP
ZiB3aGVuIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyIC0gMikiLAor
CisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgdmFyIHRhcmdldE9i
aiA9IHt9OworICAgICAgICB2YXIgb2JqID0geworICAgICAgICAgICAgNDI5NDk2NzI5MzogdGFy
Z2V0T2JqLAorICAgICAgICAgICAgNDI5NDk2NzI5NDogdHJ1ZSwKKyAgICAgICAgICAgIGxlbmd0
aDogNDI5NDk2NzI5NAorICAgICAgICB9OworCisgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5
cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IDQyOTQ5NjcyOTM7CisgICAg
fSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNS0zLTI2LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NS0zLTI3LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy0yNy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTI3
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ2ICsxLDQ2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtMy0yNyIsDQotDQotICAgIHBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUt
My0yNy5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRl
eE9mIHdoZW4gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIgLSAxKSIs
DQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgdmFyIHRh
cmdldE9iaiA9IHt9Ow0KLSAgICAgICAgdmFyIG9iaiA9IHsNCi0gICAgICAgICAgICA0Mjk0OTY3
Mjk0OiB0YXJnZXRPYmosDQotICAgICAgICAgICAgNDI5NDk2NzI5NTogdHJ1ZSwNCi0gICAgICAg
ICAgICBsZW5ndGg6IDQyOTQ5NjcyOTUNCi0gICAgICAgIH07DQotDQotICAgICAgICByZXR1cm4g
QXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSA0Mjk0
OTY3Mjk0Ow0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Yp
Ow0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisv
Ly8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CisKKyAgICBpZDogIjE1LjQuNC4xNS0z
LTI3IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQu
NC4xNS8xNS40LjQuMTUtMy0yNy5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3Rv
dHlwZS5sYXN0SW5kZXhPZiB3aGVuIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVl
ICgyXjMyIC0gMSkiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAg
ICAgdmFyIHRhcmdldE9iaiA9IHt9OworICAgICAgICB2YXIgb2JqID0geworICAgICAgICAgICAg
NDI5NDk2NzI5NDogdGFyZ2V0T2JqLAorICAgICAgICAgICAgNDI5NDk2NzI5NTogdHJ1ZSwKKyAg
ICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5NQorICAgICAgICB9OworCisgICAgICAgIHJldHVy
biBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IDQy
OTQ5NjcyOTQ7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
eworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsK
KyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTI3LmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNS0zLTI4LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy0yOC5qcwkocmV2aXNpb24g
MTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNS0zLTI4LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ3ICsxLDQ3IEBACi0vLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
Rg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtMy0y
OCIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQu
NC4xNS8xNS40LjQuMTUtMy0yOC5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmxhc3RJbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFs
dWUgKDJeMzIpIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAg
ICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQotICAgICAgICB2YXIgb2JqID0gew0KLSAgICAgICAg
ICAgIDA6IHRhcmdldE9iaiwNCi0gICAgICAgICAgICA0Mjk0OTY3Mjk0OiB0YXJnZXRPYmosDQot
ICAgICAgICAgICAgNDI5NDk2NzI5NTogdGFyZ2V0T2JqLA0KLSAgICAgICAgICAgIGxlbmd0aDog
NDI5NDk2NzI5Ng0KLSAgICAgICAgfTsNCi0NCi0gICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5
cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IC0xOyAvL3ZlcmlmeSBsZW5n
dGggaXMgMCBmaW5hbGx5DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0
SW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisv
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKKworICAgIGlkOiAiMTUu
NC40LjE1LTMtMjgiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40
LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTI4LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRh
cnkgdmFsdWUgKDJeMzIpIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisg
ICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsKKyAgICAgICAgdmFyIG9iaiA9IHsKKyAgICAgICAg
ICAgIDA6IHRhcmdldE9iaiwKKyAgICAgICAgICAgIDQyOTQ5NjcyOTQ6IHRhcmdldE9iaiwKKyAg
ICAgICAgICAgIDQyOTQ5NjcyOTU6IHRhcmdldE9iaiwKKyAgICAgICAgICAgIGxlbmd0aDogNDI5
NDk2NzI5NgorICAgICAgICB9OworCisgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFz
dEluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IC0xOyAvL3ZlcmlmeSBsZW5ndGggaXMg
MCBmaW5hbGx5CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
eworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsK
KyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTI4LmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNS0zLTI5LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy0yOS5qcwkocmV2aXNpb24g
MTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNS0zLTI5LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ3ICsxLDQ3IEBACi0vLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
Rg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtMy0y
OSIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQu
NC4xNS8xNS40LjQuMTUtMy0yOS5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmxhc3RJbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFs
dWUgKDJeMzIgKyAxKSIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0K
LSAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KLSAgICAgICAgdmFyIG9iaiA9IHsNCi0gICAg
ICAgICAgICAwOiB0YXJnZXRPYmosDQotICAgICAgICAgICAgMTogNDI5NDk2NzI5NywNCi0gICAg
ICAgICAgICBsZW5ndGg6IDQyOTQ5NjcyOTcNCi0gICAgICAgIH07DQotDQotICAgICAgICByZXR1
cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAw
ICYmDQotICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCA0
Mjk0OTY3Mjk3KSA9PT0gLTE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5s
YXN0SW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKKworICAgIGlkOiAi
MTUuNC40LjE1LTMtMjkiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTI5LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAi
QXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91
bmRhcnkgdmFsdWUgKDJeMzIgKyAxKSIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsKKworICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307CisgICAgICAgIHZhciBvYmogPSB7Cisg
ICAgICAgICAgICAwOiB0YXJnZXRPYmosCisgICAgICAgICAgICAxOiA0Mjk0OTY3Mjk3LAorICAg
ICAgICAgICAgbGVuZ3RoOiA0Mjk0OTY3Mjk3CisgICAgICAgIH07CisKKyAgICAgICAgcmV0dXJu
IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gMCAm
JgorICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCA0Mjk0
OTY3Mjk3KSA9PT0gLTE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRl
eE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTI5LmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTMuanMJKHJldmlz
aW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTUtMy0zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQxICsxLDQxIEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUt
My0zIiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjE1LzE1LjQuNC4xNS0zLTMuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnBy
b3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2
YWx1ZSBpcyAwKSIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAg
ICAgICAgdmFyIG9iaiA9IHsgMDogInVuZGVmaW5lZCIsIGxlbmd0aDogMCB9Ow0KLQ0KLSAgICAg
ICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgInVuZGVmaW5l
ZCIpID09PSAtMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRl
eE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworCisgICAgaWQ6ICIxNS40LjQu
MTUtMy0zIiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1
LjQuNC4xNS8xNS40LjQuMTUtMy0zLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmxhc3RJbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZh
bHVlIGlzIDApIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAg
IHZhciBvYmogPSB7IDA6ICJ1bmRlZmluZWQiLCBsZW5ndGg6IDAgfTsKKworICAgICAgICByZXR1
cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAidW5kZWZpbmVkIikgPT09
IC0xOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAg
ICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CisgICAg
fQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy0zLmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNS0zLTQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTQuanMJKHJldmlzaW9uIDE5OTU0OSkK
KysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTUtMy00LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQxICsxLDQxIEBACi0vLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0v
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtMy00IiwNCi0NCi0g
ICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQu
NC4xNS0zLTQuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0
SW5kZXhPZiB3aGVuIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtMCki
LA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciBv
YmogPSB7IDA6IHRydWUsIGxlbmd0aDogLTAgfTsNCi0NCi0gICAgICAgIHJldHVybiBBcnJheS5w
cm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAtMTsNCi0gICAgfSwNCi0N
Ci0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4g
Zm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0K
Ky8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggeworCisgICAgaWQ6ICIxNS40LjQuMTUtMy00IiwKKworICAgIHBhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy00Lmpz
IiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4g
dmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC0wKSIsCisKKyAgICB0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIgb2JqID0geyAwOiB0cnVlLCBs
ZW5ndGg6IC0wIH07CisKKyAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhP
Zi5jYWxsKG9iaiwgdHJ1ZSkgPT09IC0xOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlw
ZS5sYXN0SW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy00Lmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTUuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTUu
anMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy01LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQxICsx
LDQxIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0v
Ly8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQN
Ci0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0K
LS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8g
DQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi0NCi0gICAgaWQ6ICIx
NS40LjQuMTUtMy01IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTUuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjog
IkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEg
bnVtYmVyICh2YWx1ZSBpcyArMCkiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsNCi0NCi0gICAgICAgIHZhciBvYmogPSB7IDA6ICswLCBsZW5ndGg6ICswIH07DQotDQotICAg
ICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCArMCkgPT09
IC0xOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsN
Ci0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOw0K
LSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
CisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8g
CisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CisKKyAgICBpZDogIjE1LjQuNC4xNS0zLTUi
LAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1
LzE1LjQuNC4xNS0zLTUuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUu
bGFzdEluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMg
KzApIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHZhciBv
YmogPSB7IDA6ICswLCBsZW5ndGg6ICswIH07CisKKyAgICAgICAgcmV0dXJuIEFycmF5LnByb3Rv
dHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgKzApID09PSAtMTsKKyAgICB9LAorCisgICAgcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhB
cnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE1LTMtNS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy02LmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTUtMy02LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTMtNi5qcwkod29ya2luZyBjb3B5
KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
DQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQot
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0K
LSAgICBpZDogIjE1LjQuNC4xNS0zLTYiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtNi5qcyIsDQotDQotICAgIGRl
c2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2xl
bmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIGEgcG9zaXRpdmUgbnVtYmVyKSIsDQotDQotICAg
IHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgdmFyIG9iaiA9IHsgOTk6
IHRydWUsIDEwMDogMTAwLCBsZW5ndGg6IDEwMCB9Ow0KLQ0KLSAgICAgICAgcmV0dXJuIEFycmF5
LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDk5ICYmDQotICAgICAg
ICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAxMDApID09PSAtMTsN
Ci0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAg
ICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0gICAg
fQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE1LTMtNiIsCisKKyAg
ICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40
LjE1LTMtNi5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5k
ZXhPZiB3aGVuIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBhIHBvc2l0
aXZlIG51bWJlcikiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAg
ICAgdmFyIG9iaiA9IHsgOTk6IHRydWUsIDEwMDogMTAwLCBsZW5ndGg6IDEwMCB9OworCisgICAg
ICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09
PSA5OSAmJgorICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2Jq
LCAxMDApID09PSAtMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4
T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTMtNi5qcwpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy03LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy03LmpzCShyZXZpc2lv
biAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE1LTMtNy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0K
LQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotDQotICAgIGlkOiAiMTUuNC40LjE1LTMt
NyIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQu
NC4xNS8xNS40LjQuMTUtMy03LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90
b3R5cGUubGFzdEluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFs
dWUgaXMgYSBuZWdhdGl2ZSBudW1iZXIpIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7DQotDQotICAgICAgICB2YXIgb2JqID0geyA0OiAtSW5maW5pdHksIDU6IEluZmluaXR5
LCBsZW5ndGg6IDUgLSBNYXRoLnBvdygyLCAzMikgfTsNCi0NCi0gICAgICAgIHJldHVybiBBcnJh
eS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIC1JbmZpbml0eSkgPT09IDQgJiYNCi0g
ICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIEluZmluaXR5
KSA9PT0gLTE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhP
Zik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKKworICAgIGlkOiAiMTUuNC40LjE1
LTMtNyIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40
LjQuMTUvMTUuNC40LjE1LTMtNy5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3Rv
dHlwZS5sYXN0SW5kZXhPZiB3aGVuIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1
ZSBpcyBhIG5lZ2F0aXZlIG51bWJlcikiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7CisKKyAgICAgICAgdmFyIG9iaiA9IHsgNDogLUluZmluaXR5LCA1OiBJbmZpbml0eSwgbGVu
Z3RoOiA1IC0gTWF0aC5wb3coMiwgMzIpIH07CisKKyAgICAgICAgcmV0dXJuIEFycmF5LnByb3Rv
dHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgLUluZmluaXR5KSA9PT0gNCAmJgorICAgICAgICAg
ICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCBJbmZpbml0eSkgPT09IC0x
OworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAg
ICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CisgICAgfQor
Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy03LmpzCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
b2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNS0zLTguanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTguanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUt
My04LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQxICsxLDQxIEBACi0vLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0K
LS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
Uw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtMy04IiwNCi0NCi0gICAg
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4x
NS0zLTguanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5k
ZXhPZiB3aGVuIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBJbmZpbml0
eSkiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZh
ciBvYmogPSB7IDA6IDAsIGxlbmd0aDogSW5maW5pdHkgfTsNCi0NCi0gICAgICAgIHJldHVybiBB
cnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDApID09PSAtMTsNCi0gICAgfSwN
Ci0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0p
Ow0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAor
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisv
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggeworCisgICAgaWQ6ICIxNS40LjQuMTUtMy04IiwKKworICAgIHBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy04
LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdo
ZW4gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIEluZmluaXR5KSIsCisK
KyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIgb2JqID0geyAw
OiAwLCBsZW5ndGg6IEluZmluaXR5IH07CisKKyAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlw
ZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMCkgPT09IC0xOworICAgIH0sCisKKyAgICBwcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5
LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTUtMy04LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIwor
TEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS0zLTkuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNS0zLTkuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy05LmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDQxICsxLDQxIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0v
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAg
IGlkOiAiMTUuNC40LjE1LTMtOSIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy05LmpzIiwNCi0NCi0gICAgZGVzY3Jp
cHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnbGVuZ3Ro
JyBpcyBhIG51bWJlciAodmFsdWUgaXMgLUluZmluaXR5KSIsDQotDQotICAgIHRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgbGVuZ3RoOiAt
SW5maW5pdHkgfTsNCi0NCi0gICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4
T2YuY2FsbChvYmosIDApID09PSAtMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90
eXBlLmxhc3RJbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisv
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlk
OiAiMTUuNC40LjE1LTMtOSIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40
LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtOS5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjog
IkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEg
bnVtYmVyICh2YWx1ZSBpcyAtSW5maW5pdHkpIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgeworCisgICAgICAgIHZhciBvYmogPSB7IDA6IDAsIGxlbmd0aDogLUluZmluaXR5IH07
CisKKyAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwg
MCkgPT09IC0xOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7
CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtMy05LmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNS00LTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS00LTEuanMJKHJldmlzaW9uIDE5
OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTUtNC0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5IEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQot
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNS00LTEiLA0KLQ0KLXBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUt
NC0xLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBy
ZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKGVtcHR5IGFycmF5KSIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgaSA9IFtdLmxhc3RJbmRleE9mKDQyKTsNCi0gIGlm
IChpID09PSAtMSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90
b3R5cGUubGFzdEluZGV4T2YpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisv
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQu
NC4xNS00LTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40
LjQuMTUvMTUuNC40LjE1LTQtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBl
Lmxhc3RJbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAoZW1wdHkgYXJyYXkpIiwK
KwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBpID0gW10ubGFzdEluZGV4T2Yo
NDIpOworICBpZiAoaSA9PT0gLTEpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3By
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNC0x
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS00LTEwLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUt
NC0xMC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS00LTEwLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQwICsxLDQwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4N
Ci0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlk
OiAiMTUuNC40LjE1LTQtMTAiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTQtMTAuanMiLA0KLQ0KLSAgICBkZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuICdsZW5ndGgnIGlzIGEgbnVt
YmVyIG9mIHZhbHVlIC02ZS0xIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
DQotICAgICAgICB2YXIgdGFyZ2V0T2JqID0gW107DQotICAgICAgICB2YXIgb2JqID0geyAwOiB0
YXJnZXRPYmosIDEwMDogdGFyZ2V0T2JqLCBsZW5ndGg6IC02ZS0xIH07DQotICAgICAgICByZXR1
cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAt
MTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQot
ICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0g
ICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bwor
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAor
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE1LTQtMTAiLAor
CisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1
LjQuNC4xNS00LTEwLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxh
c3RJbmRleE9mIHdoZW4gJ2xlbmd0aCcgaXMgYSBudW1iZXIgb2YgdmFsdWUgLTZlLTEiLAorCisg
ICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgICAgICAgIHZhciB0YXJnZXRPYmogPSBb
XTsKKyAgICAgICAgdmFyIG9iaiA9IHsgMDogdGFyZ2V0T2JqLCAxMDA6IHRhcmdldE9iaiwgbGVu
Z3RoOiAtNmUtMSB9OworICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9m
LmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAtMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90
b3R5cGUubGFzdEluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTQt
MTAuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTQtMTEuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NS00LTExLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTQtMTEuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsNDAgKzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
Lg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAg
aWQ6ICIxNS40LjQuMTUtNC0xMSIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNC0xMS5qcyIsDQotDQotICAgIGRlc2Ny
aXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gJ2xlbmd0aCcgaXMgYW4g
ZW1wdHkgc3RyaW5nIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICAg
ICAgICB2YXIgdGFyZ2V0T2JqID0gW107DQotICAgICAgICB2YXIgb2JqID0geyAwOiB0YXJnZXRP
YmosIDEwMDogdGFyZ2V0T2JqLCBsZW5ndGg6ICIiIH07DQotICAgICAgICByZXR1cm4gQXJyYXku
cHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAtMTsNCi0gICAg
fSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICBy
ZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0gICAgfQ0KLQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE1LTQtMTEiLAorCisgICAgcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00
LTExLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9m
IHdoZW4gJ2xlbmd0aCcgaXMgYW4gZW1wdHkgc3RyaW5nIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworICAgICAgICB2YXIgdGFyZ2V0T2JqID0gW107CisgICAgICAgIHZhciBv
YmogPSB7IDA6IHRhcmdldE9iaiwgMTAwOiB0YXJnZXRPYmosIGxlbmd0aDogIiIgfTsKKyAgICAg
ICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2Jq
KSA9PT0gLTE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
eworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsK
KyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS00LTExLmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNS00LTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS00LTIuanMJKHJldmlzaW9uIDE5
OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTUtNC0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNS00LTIiLA0KLQ0K
LXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQu
MTUtNC0yLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhP
ZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKCBsZW5ndGggb3ZlcnJpZGRlbiB0byBudWxs
ICh0eXBlIGNvbnZlcnNpb24pKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQot
ICANCi0gIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoe2xlbmd0aDog
bnVsbH0sIDEpOw0KLSAgDQotICBpZiAoaSA9PT0gLTEpIHsNCi0gICAgcmV0dXJuIHRydWU7DQot
ICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0gfQ0KLX0pOw0KKy8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCisKK0VTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xNS00LTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTQtMi5qcyIsCisKK2Rlc2Ny
aXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0
aCcgaXMgMCAoIGxlbmd0aCBvdmVycmlkZGVuIHRvIG51bGwgKHR5cGUgY29udmVyc2lvbikpIiwK
KwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIAorICB2YXIgaSA9IEFycmF5LnByb3Rv
dHlwZS5sYXN0SW5kZXhPZi5jYWxsKHtsZW5ndGg6IG51bGx9LCAxKTsKKyAgCisgIGlmIChpID09
PSAtMSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdElu
ZGV4T2YpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS00LTIuanMKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE1LTQtMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTQtMy5qcwkocmV2aXNpb24g
MTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNS00LTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
DQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE1LTQtMyIsDQot
DQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQu
NC4xNS00LTMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRl
eE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAobGVuZ3RoIG92ZXJyaWRkZW4gdG8gZmFs
c2UgKHR5cGUgY29udmVyc2lvbikpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsN
Ci0gIA0KLSB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHtsZW5ndGg6
IGZhbHNlfSwgMSk7DQotICANCi0gIGlmIChpID09PSAtMSkgew0KLSAgICByZXR1cm4gdHJ1ZTsN
Ci0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJl
dHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOw0KLSB9DQotfSk7DQor
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKKworRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE1LTQtMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNC0zLmpzIiwKKworZGVz
Y3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVu
Z3RoJyBpcyAwIChsZW5ndGggb3ZlcnJpZGRlbiB0byBmYWxzZSAodHlwZSBjb252ZXJzaW9uKSki
LAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgCisgdmFyIGkgPSBBcnJheS5wcm90
b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7bGVuZ3RoOiBmYWxzZX0sIDEpOworICAKKyAgaWYgKGkg
PT09IC0xKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0
SW5kZXhPZik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTQtMy5qcwpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTUtNC00LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNC00LmpzCShyZXZpc2lv
biAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE1LTQtNC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NiArMSw0NiBAQAotLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0K
LQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTUtNC00IiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUu
NC40LjE1LTQtNC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdElu
ZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIChnZW5lcmljICdhcnJheScgd2l0aCBs
ZW5ndGggMCApIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGZvby5wcm90
b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQotICBmdW5jdGlvbiBmb28oKSB7fQ0KLSAgdmFy
IGYgPSBuZXcgZm9vKCk7DQotICBmLmxlbmd0aCA9IDA7DQotICANCi0gdmFyIGkgPSBBcnJheS5w
cm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7bGVuZ3RoOiAwfSwgMSk7DQotICANCi0gIGlmIChp
ID09PSAtMSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUubGFzdEluZGV4T2YpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40
LjE1LTQtNCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQu
NC4xNS8xNS40LjQuMTUtNC00LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUu
bGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIChnZW5lcmljICdhcnJheScg
d2l0aCBsZW5ndGggMCApIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZvby5w
cm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7CisgIGZ1bmN0aW9uIGZvbygpIHt9CisgIHZh
ciBmID0gbmV3IGZvbygpOworICBmLmxlbmd0aCA9IDA7CisgIAorIHZhciBpID0gQXJyYXkucHJv
dG90eXBlLmxhc3RJbmRleE9mLmNhbGwoe2xlbmd0aDogMH0sIDEpOworICAKKyAgaWYgKGkgPT09
IC0xKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5k
ZXhPZik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTQtNC5qcwpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTUtNC01LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNC01LmpzCShyZXZpc2lvbiAx
OTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE1LTQtNS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYN
Ci0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0K
LQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTUtNC01IiwNCi0N
Ci1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40
LjE1LTQtNS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4
T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwICggbGVuZ3RoIG92ZXJyaWRkZW4gdG8gJzAn
ICh0eXBlIGNvbnZlcnNpb24pKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQot
ICANCi0gdmFyIGkgPSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7bGVuZ3RoOiAn
MCd9LCAxKTsNCi0gIA0KLSAgaWYgKGkgPT09IC0xKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAg
fQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJu
IGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotIH0NCi19KTsNCisvLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworCitFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTUtNC01IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTUuanMiLAorCitkZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgn
IGlzIDAgKCBsZW5ndGggb3ZlcnJpZGRlbiB0byAnMCcgKHR5cGUgY29udmVyc2lvbikpIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIAorIHZhciBpID0gQXJyYXkucHJvdG90eXBl
Lmxhc3RJbmRleE9mLmNhbGwoe2xlbmd0aDogJzAnfSwgMSk7CisgIAorICBpZiAoaSA9PT0gLTEp
IHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9m
KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNC01LmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNS00LTYuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS00LTYuanMJKHJldmlzaW9uIDE5OTU0
OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTUtNC02LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotDQot
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNS00LTYiLA0KLQ0KLXBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUt
NC02LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBy
ZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVy
cmlkZGVuIHdpdGggb2JqIHdpdGggdmFsdWVPZikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgew0KLSAgDQotIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwo
e2xlbmd0aDogeyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwO319fSwgMSk7DQotICAN
Ci0gIGlmIChpID09PSAtMSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1w
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJh
eS5wcm90b3R5cGUubGFzdEluZGV4T2YpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTUuNC40LjE1LTQtNiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUu
NC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNC02LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFz
c2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3aXRoIHZhbHVlT2YpIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIAorIHZhciBpID0gQXJyYXkucHJvdG90eXBl
Lmxhc3RJbmRleE9mLmNhbGwoe2xlbmd0aDogeyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVy
biAwO319fSwgMSk7CisgIAorICBpZiAoaSA9PT0gLTEpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAg
fQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5F
eGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyB9Cit9KTsKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTUtNC02LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCAr
MSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS00LTcuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNS00LTcuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNC03LmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDUzICsxLDUzIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MN
Ci0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0v
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsNCi1pZDogIjE1LjQuNC4xNS00LTciLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNC03LmpzIiwNCi0NCi1kZXNjcmlwdGlv
bjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlz
IDAgKCBsZW5ndGggaXMgb2JqZWN0IG92ZXJyaWRkZW4gd2l0aCBvYmogdy9vIHZhbHVlT2YgKHRv
U3RyaW5nKSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgZm9vLnByb3Rv
dHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCi0gIGZ1bmN0aW9uIGZvbygpIHt9DQotICB2YXIg
ZiA9IG5ldyBmb28oKTsNCi0gIA0KLSAgdmFyIG8gPSB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7
IHJldHVybiAnMCc7fX07DQotICBmLmxlbmd0aCA9IG87DQotICANCi0gIC8vIG9iamVjdHMgaW5o
ZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCi0g
IC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFs
dWVPZigpIG1ldGhvZA0KLSAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBF
UyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KLSAgLy8gdG8gYSBudW1iZXIgYnkg
Y2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQotICAvLyBy
ZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KLSB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5s
YXN0SW5kZXhPZi5jYWxsKHtsZW5ndGg6IHsgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJu
ICcwJzt9fX0sIDEpOw0KLSAgDQotICBpZiAoaSA9PT0gLTEpIHsNCi0gICAgcmV0dXJuIHRydWU7
DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICBy
ZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0gfQ0KLX0pOw0K
Ky8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xNS00LTciLAorCitwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTQtNy5qcyIsCisKK2Rl
c2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgLTEgaWYgJ2xl
bmd0aCcgaXMgMCAoIGxlbmd0aCBpcyBvYmplY3Qgb3ZlcnJpZGRlbiB3aXRoIG9iaiB3L28gdmFs
dWVPZiAodG9TdHJpbmcpKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBmb28u
cHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOworICBmdW5jdGlvbiBmb28oKSB7fQorICB2
YXIgZiA9IG5ldyBmb28oKTsKKyAgCisgIHZhciBvID0geyB0b1N0cmluZzogZnVuY3Rpb24gKCkg
eyByZXR1cm4gJzAnO319OworICBmLmxlbmd0aCA9IG87CisgIAorICAvLyBvYmplY3RzIGluaGVy
aXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7CisgIC8v
IHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVP
ZigpIG1ldGhvZAorICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5l
eHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0CisgIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxp
bmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQorICAvLyByZXN1bHRp
bmcgc3RyaW5nIHRvIGEgbnVtYmVyLgorIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRl
eE9mLmNhbGwoe2xlbmd0aDogeyB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gJzAnO319
fSwgMSk7CisgIAorICBpZiAoaSA9PT0gLTEpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0s
CisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMo
QXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTUtNC03LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIwor
TEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS00LTguanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNS00LTguanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNC04LmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDU2ICsxLDU2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0v
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gDQotDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1p
ZDogIjE1LjQuNC4xNS00LTgiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNC04LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFy
cmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKGxl
bmd0aCBpcyBhbiBlbXB0eSBhcnJheSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
ew0KLQ0KLSAgDQotICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRo
b2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQotICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBp
dHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCi0gIC8vIGRvZXMgbm90
IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBv
YmplY3QNCi0gIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9k
IGFuZCBjb252ZXJ0aW5nIHRoZQ0KLSAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4N
Ci0gIC8vDQotICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRo
ZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KLSAgLy8gdGhlbiByZXR1cm5zIHRoZSByZXN1
bHQgb2YgY29uY2F0ZW5hdGluZyB0aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbg0KLSAgLy8g
YmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkg
c3RyaW5nLCB3aGljaA0KLSAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJh
eSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCi0gIC8vIG51bWJlciBuLCB0aGUgYXJy
YXkgY29udmVydHMgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2ggaXMNCi0g
IC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5z
IG1vcmUgdGhhbiBvbmUgZWxlbWVudCwNCi0gIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBu
b3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQotIHZhciBpID0gQXJyYXku
cHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoe2xlbmd0aDogWyBdfSwgMSk7DQotICANCi0gIGlm
IChpID09PSAtMSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90
b3R5cGUubGFzdEluZGV4T2YpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisv
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUu
NC40LjE1LTQtOCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1
LjQuNC4xNS8xNS40LjQuMTUtNC04LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5
cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIChsZW5ndGggaXMgYW4g
ZW1wdHkgYXJyYXkpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgCisgIC8v
IG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0
IG9iamVjdDsKKyAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUg
ZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kCisgIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2
ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QKKyAgLy8gdG8gYSBu
dW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhl
CisgIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuCisgIC8vCisgIC8vIFRoZSB0b1N0
cmluZyggKSBtZXRob2Qgb24gQXJyYXkgY29udmVydHMgdGhlIGFycmF5IGVsZW1lbnRzIHRvIHN0
cmluZ3MsCisgIC8vIHRoZW4gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgdGhl
c2Ugc3RyaW5ncywgd2l0aCBjb21tYXMgaW4KKyAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBu
byBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaAorICAvLyBjb252
ZXJ0cyB0byB0aGUgbnVtYmVyIDAuIElmIGFuIGFycmF5IGhhcyBhIHNpbmdsZSBlbGVtZW50IHRo
YXQgaXMgYQorICAvLyBudW1iZXIgbiwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIGEgc3RyaW5nIHJl
cHJlc2VudGF0aW9uIG9mIG4sIHdoaWNoIGlzCisgIC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8g
biBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwKKyAg
Ly8gb3IgaWYgaXRzIG9uZSBlbGVtZW50IGlzIG5vdCBhIG51bWJlciwgdGhlIGFycmF5IGNvbnZl
cnRzIHRvIE5hTi4KKyB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHts
ZW5ndGg6IFsgXX0sIDEpOworICAKKyAgaWYgKGkgPT09IC0xKSB7CisgICAgcmV0dXJuIHRydWU7
CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJu
IGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CisgfQorfSk7CgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE1LTQtOC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w
LDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNC05Lmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTUtNC05LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTQtOS5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
DQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
ew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNS00LTkiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTQtOS5qcyIsDQotDQot
ICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gJ2xlbmd0
aCcgaXMgYSBudW1iZXIgb2YgdmFsdWUgMC4xIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7DQotICAgICAgICB2YXIgdGFyZ2V0T2JqID0gW107DQotICAgICAgICB2YXIgb2Jq
ID0geyAwOiB0YXJnZXRPYmosIDEwMDogdGFyZ2V0T2JqLCBsZW5ndGg6IDAuMSB9Ow0KLSAgICAg
ICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2Jq
KSA9PT0gLTE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhP
Zik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNS00
LTkiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40
LjE1LzE1LjQuNC4xNS00LTkuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5
cGUubGFzdEluZGV4T2Ygd2hlbiAnbGVuZ3RoJyBpcyBhIG51bWJlciBvZiB2YWx1ZSAwLjEiLAor
CisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgICAgICAgIHZhciB0YXJnZXRPYmog
PSBbXTsKKyAgICAgICAgdmFyIG9iaiA9IHsgMDogdGFyZ2V0T2JqLCAxMDA6IHRhcmdldE9iaiwg
bGVuZ3RoOiAwLjEgfTsKKyAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhP
Zi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gLTE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJv
dG90eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS00
LTkuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMS5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1
LTUtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
NDAgKzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUu
NC40LjE1LTUtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQv
MTUuNC40LjE1LzE1LjQuNC4xNS01LTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmxhc3RJbmRleE9mIHdoZW4gZnJvbUluZGV4IGlzIHN0cmluZyIsDQotDQotdGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgYSA9IG5ldyBBcnJheSgwLDEsMSk7DQotICBp
ZiAoYS5sYXN0SW5kZXhPZigxLCIxIikgPT09IDEgJiYgICAgICAgICAgLy8gIjEiIHJlc29sdmVz
IHRvIDENCi0gICAgICBhLmxhc3RJbmRleE9mKDEsIm9uZSIpID09PSAtMSkgeyAgICAgICAvLyBO
YU4gc3RyaW5nIHJlc29sdmVzIHRvIDANCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQot
DQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMo
QXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxNS40LjQuMTUtNS0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTEuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuIGZyb21JbmRleCBpcyBzdHJpbmciLAorCit0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGEgPSBuZXcgQXJyYXkoMCwxLDEpOworICBp
ZiAoYS5sYXN0SW5kZXhPZigxLCIxIikgPT09IDEgJiYgICAgICAgICAgLy8gIjEiIHJlc29sdmVz
IHRvIDEKKyAgICAgIGEubGFzdEluZGV4T2YoMSwib25lIikgPT09IC0xKSB7ICAgICAgIC8vIE5h
TiBzdHJpbmcgcmVzb2x2ZXMgdG8gMAorICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5w
cm90b3R5cGUubGFzdEluZGV4T2YpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTEu
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMTAuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01
LTEwLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMTAuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
NDAgKzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6
ICIxNS40LjQuMTUtNS0xMCIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0xMC5qcyIsDQotDQotICAgIGRlc2NyaXB0
aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2Zyb21JbmRl
eCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIHBvc2l0aXZlIG51bWJlcikiLA0KLQ0KLSAgICB0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCi0g
ICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCB0cnVlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmos
IDEuNSkgPT09IDEgJiYNCi0gICAgICAgICAgICBbMCwgdHJ1ZSwgdGFyZ2V0T2JqXS5sYXN0SW5k
ZXhPZih0YXJnZXRPYmosIDEuNSkgPT09IC0xOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5w
cm90b3R5cGUubGFzdEluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisg
ICAgaWQ6ICIxNS40LjQuMTUtNS0xMCIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMTAuanMiLAorCisgICAgZGVzY3Jp
cHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnZnJvbUlu
ZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgcG9zaXRpdmUgbnVtYmVyKSIsCisKKyAgICB0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9OworICAg
ICAgICByZXR1cm4gWzAsIHRhcmdldE9iaiwgdHJ1ZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAx
LjUpID09PSAxICYmCisgICAgICAgICAgICBbMCwgdHJ1ZSwgdGFyZ2V0T2JqXS5sYXN0SW5kZXhP
Zih0YXJnZXRPYmosIDEuNSkgPT09IC0xOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlw
ZS5sYXN0SW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0xMC5q
cwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0xMS5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUt
MTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0xMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0
MCArMSw0MCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
DQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQot
Ly8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDog
IjE1LjQuNC4xNS01LTExIiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTExLmpzIiwNCi0NCi0gICAgZGVzY3JpcHRp
b246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4
JyBpcyBhIG51bWJlciAodmFsdWUgaXMgbmVnYXRpdmUgbnVtYmVyKSIsDQotDQotICAgIHRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KLSAg
ICAgICAgcmV0dXJuIFswLCB0YXJnZXRPYmosIHRydWVdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwg
LTIuNSkgPT09IDEgJiYNCi0gICAgICAgICAgICBbMCwgdHJ1ZSwgdGFyZ2V0T2JqXS5sYXN0SW5k
ZXhPZih0YXJnZXRPYmosIC0yLjUpID09PSAtMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKwor
ICAgIGlkOiAiMTUuNC40LjE1LTUtMTEiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTExLmpzIiwKKworICAgIGRlc2Ny
aXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2Zyb21J
bmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIG5lZ2F0aXZlIG51bWJlcikiLAorCisgICAgdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsKKyAg
ICAgICAgcmV0dXJuIFswLCB0YXJnZXRPYmosIHRydWVdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwg
LTIuNSkgPT09IDEgJiYKKyAgICAgICAgICAgIFswLCB0cnVlLCB0YXJnZXRPYmpdLmxhc3RJbmRl
eE9mKHRhcmdldE9iaiwgLTIuNSkgPT09IC0xOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3Rv
dHlwZS5sYXN0SW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0x
MS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0xMi5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1
LTUtMTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0xMi5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSw0MCArMSw0MCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBp
ZDogIjE1LjQuNC4xNS01LTEyIiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTEyLmpzIiwNCi0NCi0gICAgZGVzY3Jp
cHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnZnJvbUlu
ZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpIiwNCi0NCi0gICAgdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotICAgICAgICB2YXIgYXJyID0gW107DQotICAgICAgICBhcnJb
TWF0aC5wb3coMiwgMzIpIC0gMl0gPSBudWxsOyAvLyBsZW5ndGggaXMgdGhlIG1heCB2YWx1ZSBv
ZiBVaW50IHR5cGUNCi0gICAgICAgIHJldHVybiBhcnIubGFzdEluZGV4T2YobnVsbCwgSW5maW5p
dHkpID09PSAoTWF0aC5wb3coMiwgMzIpIC0gMik7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5
LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisK
KyAgICBpZDogIjE1LjQuNC4xNS01LTEyIiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0xMi5qcyIsCisKKyAgICBkZXNj
cmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuIHZhbHVlIG9mICdmcm9t
SW5kZXgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBJbmZpbml0eSkiLAorCisgICAgdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgICAgICAgIHZhciBhcnIgPSBbXTsKKyAgICAgICAgYXJyW01h
dGgucG93KDIsIDMyKSAtIDJdID0gbnVsbDsgLy8gbGVuZ3RoIGlzIHRoZSBtYXggdmFsdWUgb2Yg
VWludCB0eXBlCisgICAgICAgIHJldHVybiBhcnIubGFzdEluZGV4T2YobnVsbCwgSW5maW5pdHkp
ID09PSAoTWF0aC5wb3coMiwgMzIpIC0gMik7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90
eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTEy
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTEzLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUt
NS0xMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTEzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDM5ICsxLDM5IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4N
Ci0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi0NCi0gICAg
aWQ6ICIxNS40LjQuMTUtNS0xMyIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0xMy5qcyIsDQotDQotICAgIGRlc2Ny
aXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2Zyb21J
bmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZpbml0eSkiLA0KLQ0KLSAgICB0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHJldHVybiBbdHJ1ZV0ubGFzdEluZGV4
T2YodHJ1ZSwgLUluZmluaXR5KSA9PT0gLTE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnBy
b3RvdHlwZS5sYXN0SW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKKwor
ICAgIGlkOiAiMTUuNC40LjE1LTUtMTMiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTEzLmpzIiwKKworICAgIGRlc2Ny
aXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2Zyb21J
bmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZpbml0eSkiLAorCisgICAgdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgcmV0dXJuIFt0cnVlXS5sYXN0SW5kZXhPZih0
cnVlLCAtSW5maW5pdHkpID09PSAtMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUu
bGFzdEluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMTMuanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMTQuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTE0
LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIg
KzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLQ0KLSAgICBpZDog
IjE1LjQuNC4xNS01LTE0IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTE0LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRp
b246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4
JyBpcyBhIG51bWJlciAodmFsdWUgaXMgTmFOKSIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgew0KLQ0KLSAgICAgICAgcmV0dXJuIFswLCB0cnVlXS5sYXN0SW5kZXhPZih0cnVl
LCBOYU4pID09PSAtMSAmJiAvLyBmcm9tIEluZGV4IHdpbGwgYmUgY29udmVydCB0byArMA0KLSAg
ICAgICAgICAgIFt0cnVlLCAwXS5sYXN0SW5kZXhPZih0cnVlLCBOYU4pID09PSAwICYmDQotICAg
ICAgICAgICAgWzAsIHRydWVdLmxhc3RJbmRleE9mKHRydWUsIC1OYU4pID09PSAtMSAmJg0KLSAg
ICAgICAgICAgIFt0cnVlLCAwXS5sYXN0SW5kZXhPZih0cnVlLCAtTmFOKSA9PT0gMDsNCi0gICAg
fSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICBy
ZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0gICAgfQ0KLQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggeworCisgICAgaWQ6ICIxNS40LjQuMTUtNS0xNCIsCisKKyAgICBw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1
LTUtMTQuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4
T2Ygd2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgTmFOKSIs
CisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICByZXR1cm4gWzAs
IHRydWVdLmxhc3RJbmRleE9mKHRydWUsIE5hTikgPT09IC0xICYmIC8vIGZyb20gSW5kZXggd2ls
bCBiZSBjb252ZXJ0IHRvICswCisgICAgICAgICAgICBbdHJ1ZSwgMF0ubGFzdEluZGV4T2YodHJ1
ZSwgTmFOKSA9PT0gMCAmJgorICAgICAgICAgICAgWzAsIHRydWVdLmxhc3RJbmRleE9mKHRydWUs
IC1OYU4pID09PSAtMSAmJgorICAgICAgICAgICAgW3RydWUsIDBdLmxhc3RJbmRleE9mKHRydWUs
IC1OYU4pID09PSAwOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhP
Zik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0xNC5qcwpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0xNS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMTUuanMJKHJldmlz
aW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTUtNS0xNS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAot
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0K
LQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotDQotICAgIGlkOiAiMTUuNC40LjE1
LTUtMTUiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMTUvMTUuNC40LjE1LTUtMTUuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgc3Ry
aW5nIGNvbnRhaW5pbmcgYSBuZWdhdGl2ZSBudW1iZXIiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHJldHVybiBbMCwgIi0yIiwgMl0ubGFzdEluZGV4
T2YoIi0yIiwgIi0yIikgPT09IDEgJiYNCi0gICAgICAgICAgICBbMCwgMiwgIi0yIl0ubGFzdElu
ZGV4T2YoIi0yIiwgIi0yIikgPT09IC0xOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90
b3R5cGUubGFzdEluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CisKKyAg
ICBpZDogIjE1LjQuNC4xNS01LTE1IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0xNS5qcyIsCisKKyAgICBkZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuIHZhbHVlIG9mICdmcm9tSW5k
ZXgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBuZWdhdGl2ZSBudW1iZXIiLAorCisgICAgdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgcmV0dXJuIFswLCAiLTIiLCAyXS5s
YXN0SW5kZXhPZigiLTIiLCAiLTIiKSA9PT0gMSAmJgorICAgICAgICAgICAgWzAsIDIsICItMiJd
Lmxhc3RJbmRleE9mKCItMiIsICItMiIpID09PSAtMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5w
cm90b3R5cGUubGFzdEluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1
LTUtMTUuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitM
RgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMTYuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNS01LTE2LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMTYuanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsNDAgKzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0K
LS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0g
ICAgaWQ6ICIxNS40LjQuMTUtNS0xNiIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0xNi5qcyIsDQotDQotICAgIGRl
c2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2Zy
b21JbmRleCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBJbmZpbml0eSIsDQotDQotICAgIHRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgICAgICAgdmFyIGFyciA9IFtdOw0KLSAgICAgICAg
YXJyW01hdGgucG93KDIsIDMyKSAtIDJdID0gdHJ1ZTsgLy8gbGVuZ3RoIGlzIHRoZSBtYXggdmFs
dWUgb2YgVWludCB0eXBlDQotICAgICAgICByZXR1cm4gYXJyLmxhc3RJbmRleE9mKHRydWUsICJJ
bmZpbml0eSIpID09PSAoTWF0aC5wb3coMiwgMzIpIC0gMik7DQotICAgIH0sDQotDQotICAgIHBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3Rz
KEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCh7CisKKyAgICBpZDogIjE1LjQuNC4xNS01LTE2IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0xNi5qcyIsCisKKyAg
ICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuIHZhbHVlIG9m
ICdmcm9tSW5kZXgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgSW5maW5pdHkiLAorCisgICAgdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgICAgICAgIHZhciBhcnIgPSBbXTsKKyAgICAgICAg
YXJyW01hdGgucG93KDIsIDMyKSAtIDJdID0gdHJ1ZTsgLy8gbGVuZ3RoIGlzIHRoZSBtYXggdmFs
dWUgb2YgVWludCB0eXBlCisgICAgICAgIHJldHVybiBhcnIubGFzdEluZGV4T2YodHJ1ZSwgIklu
ZmluaXR5IikgPT09IChNYXRoLnBvdygyLCAzMikgLSAyKTsKKyAgICB9LAorCisgICAgcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJh
eS5wcm90b3R5cGUubGFzdEluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE1LTUtMTYuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMTcuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNS01LTE3LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMTcuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMzkgKzEsMzkgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LQ0KLSAgICBpZDogIjE1LjQuNC4xNS01LTE3IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTE3LmpzIiwNCi0NCi0g
ICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiB2YWx1ZSBv
ZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIC1JbmZpbml0eSIsDQotDQotICAg
IHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgcmV0dXJuIFt0cnVlXS5s
YXN0SW5kZXhPZih0cnVlLCAiLUluZmluaXR5IikgPT09IC0xOw0KLSAgICB9LA0KLQ0KLSAgICBw
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0
cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7CisKKyAgICBpZDogIjE1LjQuNC4xNS01LTE3IiwKKworICAgIHBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0xNy5qcyIsCisK
KyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuIHZhbHVl
IG9mICdmcm9tSW5kZXgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgLUluZmluaXR5IiwKKworICAg
IHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHJldHVybiBbdHJ1ZV0ubGFz
dEluZGV4T2YodHJ1ZSwgIi1JbmZpbml0eSIpID09PSAtMTsKKyAgICB9LAorCisgICAgcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJh
eS5wcm90b3R5cGUubGFzdEluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE1LTUtMTcuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMTguanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNS01LTE4LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMTguanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNDAgKzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0N
Ci0gICAgaWQ6ICIxNS40LjQuMTUtNS0xOCIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0xOC5qcyIsDQotDQotICAg
IGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gdmFsdWUgb2Yg
J2Zyb21JbmRleCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBleHBvbmVudGlhbCBudW1iZXIi
LA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gICAgICAgIHZhciB0YXJn
ZXRPYmogPSB7fTsNCi0gICAgICAgIHJldHVybiBbMCwgTmFOLCB0YXJnZXRPYmosIDMsIGZhbHNl
XS5sYXN0SW5kZXhPZih0YXJnZXRPYmosICIyRTAiKSA9PT0gMiAmJg0KLSAgICAgICAgICAgIFsw
LCBOYU4sIDMsIHRhcmdldE9iaiwgZmFsc2VdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgIjJFMCIp
ID09PSAtMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9m
KTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
Ly8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE1LTUt
MTgiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40
LjE1LzE1LjQuNC4xNS01LTE4LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90
eXBlLmxhc3RJbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBzdHJpbmcgY29u
dGFpbmluZyBhbiBleHBvbmVudGlhbCBudW1iZXIiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7CisgICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsKKyAgICAgICAgcmV0dXJuIFsw
LCBOYU4sIHRhcmdldE9iaiwgMywgZmFsc2VdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgIjJFMCIp
ID09PSAyICYmCisgICAgICAgICAgICBbMCwgTmFOLCAzLCB0YXJnZXRPYmosIGZhbHNlXS5sYXN0
SW5kZXhPZih0YXJnZXRPYmosICIyRTAiKSA9PT0gLTE7CisgICAgfSwKKworICAgIHByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NS01LTE4LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIwor
TEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTE5LmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTUtNS0xOS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTE5LmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDQwICsxLDQwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IN
Ci0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0v
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQot
ICAgIGlkOiAiMTUuNC40LjE1LTUtMTkiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMTkuanMiLA0KLQ0KLSAgICBk
ZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuIHZhbHVlIG9mICdm
cm9tSW5kZXgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBoZXggbnVtYmVyIiwNCi0NCi0gICAg
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307
DQotICAgICAgICByZXR1cm4gWzAsIHRydWUsIHRhcmdldE9iaiwgMywgZmFsc2VdLmxhc3RJbmRl
eE9mKHRhcmdldE9iaiwgIjB4MDAwMiIpID09PSAyICYmDQotICAgICAgICAgICAgWzAsIHRydWUs
IDMsIHRhcmdldE9iaiwgZmFsc2VdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgIjB4MDAwMiIpID09
PSAtMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsN
Ci0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8v
IAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE1LTUtMTki
LAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1
LzE1LjQuNC4xNS01LTE5LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBl
Lmxhc3RJbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBzdHJpbmcgY29udGFp
bmluZyBhIGhleCBudW1iZXIiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7Cisg
ICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsKKyAgICAgICAgcmV0dXJuIFswLCB0cnVlLCB0YXJn
ZXRPYmosIDMsIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosICIweDAwMDIiKSA9PT0gMiAm
JgorICAgICAgICAgICAgWzAsIHRydWUsIDMsIHRhcmdldE9iaiwgZmFsc2VdLmxhc3RJbmRleE9m
KHRhcmdldE9iaiwgIjB4MDAwMiIpID09PSAtMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90
b3R5cGUubGFzdEluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUt
MTkuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMi5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1
LTUtMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
NDEgKzEsNDEgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUu
NC40LjE1LTUtMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQv
MTUuNC40LjE1LzE1LjQuNC4xNS01LTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmxhc3RJbmRleE9mIHdoZW4gZnJvbUluZGV4IGlzIGZsb2F0aW5nIHBvaW50IG51bWJl
ciIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgYSA9IG5ldyBBcnJh
eSgxLDIsMSk7DQotICBpZiAoYS5sYXN0SW5kZXhPZigyLDEuNDkpID09PSAxICYmICAgIC8vIDEu
NDkgcmVzb2x2ZXMgdG8gMQ0KLSAgICAgIGEubGFzdEluZGV4T2YoMiwwLjUxKSA9PT0gLTEgJiYg
ICAgLy8gMC41MSByZXNvbHZlcyB0byAwDQotICAgICAgYS5sYXN0SW5kZXhPZigxLDAuNTEpID09
PSAwKXsgICAgICAvLyAwLjUxIHJlc29sdmVzIHRvIDANCi0gICAgcmV0dXJuIHRydWU7DQotICB9
DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4g
Zm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0gfQ0KLX0pOw0KKy8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisv
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggeworaWQ6ICIxNS40LjQuMTUtNS0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTIuanMiLAorCitkZXNjcmlwdGlv
bjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuIGZyb21JbmRleCBpcyBmbG9hdGlu
ZyBwb2ludCBudW1iZXIiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGEg
PSBuZXcgQXJyYXkoMSwyLDEpOworICBpZiAoYS5sYXN0SW5kZXhPZigyLDEuNDkpID09PSAxICYm
ICAgIC8vIDEuNDkgcmVzb2x2ZXMgdG8gMQorICAgICAgYS5sYXN0SW5kZXhPZigyLDAuNTEpID09
PSAtMSAmJiAgICAvLyAwLjUxIHJlc29sdmVzIHRvIDAKKyAgICAgIGEubGFzdEluZGV4T2YoMSww
LjUxKSA9PT0gMCl7ICAgICAgLy8gMC41MSByZXNvbHZlcyB0byAwCisgICAgcmV0dXJuIHRydWU7
CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJu
IGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CisgfQorfSk7CgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE1LTUtMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w
LDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0yMC5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE1LTUtMjAuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0yMC5qcwkod29y
a2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0K
LS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRl
c3Qoew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNS01LTIwIiwNCi0NCi0gICAgcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTIwLmpzIiwN
Ci0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiB2
YWx1ZSBvZiAnZnJvbUluZGV4JyB3aGljaCBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVy
IHdpdGggbGVhZGluZyB6ZXJvcyIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
ew0KLSAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KLSAgICAgICAgcmV0dXJuIFswLCB0cnVl
LCB0YXJnZXRPYmosIDMsIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosICIwMDAyLjEwIikg
PT09IDIgJiYNCi0gICAgICAgICAgICBbMCwgdHJ1ZSwgMywgdGFyZ2V0T2JqLCBmYWxzZV0ubGFz
dEluZGV4T2YodGFyZ2V0T2JqLCAiMDAwMi4xMCIpID09PSAtMTsNCi0gICAgfSwNCi0NCi0gICAg
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisv
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE1LTUtMjAiLAorCisgICAgcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTIwLmpzIiwKKwor
ICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gdmFsdWUg
b2YgJ2Zyb21JbmRleCcgd2hpY2ggaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG51bWJlciB3aXRo
IGxlYWRpbmcgemVyb3MiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgICAg
ICAgIHZhciB0YXJnZXRPYmogPSB7fTsKKyAgICAgICAgcmV0dXJuIFswLCB0cnVlLCB0YXJnZXRP
YmosIDMsIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosICIwMDAyLjEwIikgPT09IDIgJiYK
KyAgICAgICAgICAgIFswLCB0cnVlLCAzLCB0YXJnZXRPYmosIGZhbHNlXS5sYXN0SW5kZXhPZih0
YXJnZXRPYmosICIwMDAyLjEwIikgPT09IC0xOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3Rv
dHlwZS5sYXN0SW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0y
MC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0yMS5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1
LTUtMjEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0yMS5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSw1MiArMSw1MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBp
ZDogIjE1LjQuNC4xNS01LTIxIiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTIxLmpzIiwNCi0NCi0gICAgZGVzY3Jp
cHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnZnJvbUlu
ZGV4JyB3aGljaCBpcyBhbiBPYmplY3QsIGFuZCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZCIs
DQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgLy8gb2Jq
ZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QgZnJvbSBPYmplY3QNCi0g
ICAgICAgIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2
YWx1ZU9mKCkgbWV0aG9kDQotICAgICAgICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUg
dmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQotICAgICAgICAvLyB0
byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGlu
ZyB0aGUNCi0gICAgICAgIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQotICAgICAg
ICB2YXIgZnJvbUluZGV4ID0gew0KLSAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7
DQotICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAg
fTsNCi0gICAgICAgIHZhciB0YXJnZXRPYmogPSBuZXcgUmVnRXhwKCk7DQotDQotICAgICAgICBy
ZXR1cm4gWzAsIHRydWUsIHRhcmdldE9iaiwgMywgZmFsc2VdLmxhc3RJbmRleE9mKHRhcmdldE9i
aiwgZnJvbUluZGV4KSA9PT0gMiAmJg0KLSAgICAgICAgWzAsIHRydWUsIDMsIHRhcmdldE9iaiwg
ZmFsc2VdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgZnJvbUluZGV4KSA9PT0gLTE7DQotICAgIH0s
DQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0
dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotICAgIH0NCi0NCi19
KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAK
Ky8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNS01LTIxIiwKKworICAgIHBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0y
MS5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3
aGVuIHZhbHVlIG9mICdmcm9tSW5kZXgnIHdoaWNoIGlzIGFuIE9iamVjdCwgYW5kIGhhcyBhbiBv
d24gdG9TdHJpbmcgbWV0aG9kIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewor
CisgICAgICAgIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9k
IGZyb20gT2JqZWN0CisgICAgICAgIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgaXRzZWxmLiBTaW5j
ZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kCisgICAgICAgIC8vIGRvZXMgbm90IHJldHVy
biBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QK
KyAgICAgICAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2Qg
YW5kIGNvbnZlcnRpbmcgdGhlCisgICAgICAgIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1i
ZXIuCisgICAgICAgIHZhciBmcm9tSW5kZXggPSB7CisgICAgICAgICAgICB0b1N0cmluZzogZnVu
Y3Rpb24gKCkgeworICAgICAgICAgICAgICAgIHJldHVybiAnMic7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH07CisgICAgICAgIHZhciB0YXJnZXRPYmogPSBuZXcgUmVnRXhwKCk7CisKKyAgICAg
ICAgcmV0dXJuIFswLCB0cnVlLCB0YXJnZXRPYmosIDMsIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJn
ZXRPYmosIGZyb21JbmRleCkgPT09IDIgJiYKKyAgICAgICAgWzAsIHRydWUsIDMsIHRhcmdldE9i
aiwgZmFsc2VdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgZnJvbUluZGV4KSA9PT0gLTE7CisgICAg
fSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNS01LTIxLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NS01LTIyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0yMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTIy
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ3ICsxLDQ3IEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtNS0yMiIsDQotDQotICAgIHBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUt
NS0yMi5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRl
eE9mIHdoZW4gdmFsdWUgb2YgJ2Zyb21JbmRleCcgd2hpY2ggaXMgYW4gb2JqZWN0LCBhbmQgaGFz
IGFuIG93biB2YWx1ZU9mIG1ldGhvZCIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgew0KLQ0KLSAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCi0gICAgICAgICAgICB2YWx1ZU9m
OiBmdW5jdGlvbiAoKSB7DQotICAgICAgICAgICAgICAgIHJldHVybiAyOw0KLSAgICAgICAgICAg
IH0NCi0gICAgICAgIH07DQotDQotICAgICAgICB2YXIgdGFyZ2V0T2JqID0gZnVuY3Rpb24gKCkg
e307DQotICAgICAgICByZXR1cm4gWzAsIHRydWUsIHRhcmdldE9iaiwgMywgZmFsc2VdLmxhc3RJ
bmRleE9mKHRhcmdldE9iaiwgZnJvbUluZGV4KSA9PT0gMiAmJg0KLSAgICAgICAgWzAsIHRydWUs
IDMsIHRhcmdldE9iaiwgZmFsc2VdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgZnJvbUluZGV4KSA9
PT0gLTE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
ew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7
DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8v
LyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKKworICAgIGlkOiAiMTUuNC40LjE1LTUt
MjIiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40
LjE1LzE1LjQuNC4xNS01LTIyLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90
eXBlLmxhc3RJbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2Zyb21JbmRleCcgd2hpY2ggaXMgYW4gb2Jq
ZWN0LCBhbmQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCIsCisKKyAgICB0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIgZnJvbUluZGV4ID0geworICAgICAgICAgICAg
dmFsdWVPZjogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIHJldHVybiAyOworICAgICAg
ICAgICAgfQorICAgICAgICB9OworCisgICAgICAgIHZhciB0YXJnZXRPYmogPSBmdW5jdGlvbiAo
KSB7fTsKKyAgICAgICAgcmV0dXJuIFswLCB0cnVlLCB0YXJnZXRPYmosIDMsIGZhbHNlXS5sYXN0
SW5kZXhPZih0YXJnZXRPYmosIGZyb21JbmRleCkgPT09IDIgJiYKKyAgICAgICAgWzAsIHRydWUs
IDMsIHRhcmdldE9iaiwgZmFsc2VdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgZnJvbUluZGV4KSA9
PT0gLTE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewor
ICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyAg
ICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTIyLmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNS01LTIzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0yMy5qcwkocmV2aXNpb24gMTk5
NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNS01LTIzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU0ICsxLDU0IEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQot
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtNS0yMyIs
DQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4x
NS8xNS40LjQuMTUtNS0yMy5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90
eXBlLmxhc3RJbmRleE9mIHdoZW4gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYW4gb2JqZWN0IHRo
YXQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGFuZCB0
b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGEgc3RyaW5nIiwNCi0NCi0gICAgdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZh
bHNlOw0KLSAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KLQ0KLSAgICAgICAg
dmFyIGZyb21JbmRleCA9IHsNCi0gICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0K
LSAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCi0gICAgICAgICAgICAg
ICAgcmV0dXJuICcxJzsNCi0gICAgICAgICAgICB9LA0KLQ0KLSAgICAgICAgICAgIHZhbHVlT2Y6
IGZ1bmN0aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsN
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KLSAgICAgICAgICAgIH0NCi0gICAgICAgIH07
DQotDQotICAgICAgICByZXR1cm4gWzAsIHRydWVdLmxhc3RJbmRleE9mKHRydWUsIGZyb21JbmRl
eCkgPT09IDEgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQotICAgIH0s
DQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0
dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotICAgIH0NCi0NCi19
KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAK
Ky8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsKKworICAgIGlkOiAiMTUuNC40LjE1LTUtMjMiLAorCisgICAgcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01
LTIzLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9m
IHdoZW4gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYW4gb2JqZWN0IHRoYXQgaGFzIGFuIG93biB2
YWx1ZU9mIG1ldGhvZCB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGFuZCB0b1N0cmluZyBtZXRob2Qg
dGhhdCByZXR1cm5zIGEgc3RyaW5nIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
eworCisgICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7CisgICAgICAgIHZhciB2
YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsKKworICAgICAgICB2YXIgZnJvbUluZGV4ID0geworICAg
ICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICB0b1N0cmlu
Z0FjY2Vzc2VkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICByZXR1cm4gJzEnOworICAgICAgICAg
ICAgfSwKKworICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAg
ICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgcmV0dXJuIHt9Owor
ICAgICAgICAgICAgfQorICAgICAgICB9OworCisgICAgICAgIHJldHVybiBbMCwgdHJ1ZV0ubGFz
dEluZGV4T2YodHJ1ZSwgZnJvbUluZGV4KSA9PT0gMSAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZh
bHVlT2ZBY2Nlc3NlZDsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4
T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMjMuanMKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMjQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTI0LmpzCShyZXZp
c2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE1LTUtMjQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTkgKzEsNTkgQEAK
LS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0v
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0K
LQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUt
NS0yNCIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1
LjQuNC4xNS8xNS40LjQuMTUtNS0yNC5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXku
cHJvdG90eXBlLmxhc3RJbmRleE9mIHRocm93cyBUeXBlRXJyb3IgZXhjZXB0aW9uIHdoZW4gdmFs
dWUgb2YgJ2Zyb21JbmRleCcgaXMgYW4gb2JqZWN0IHRoYXQgYm90aCB0b1N0cmluZyBhbmQgdmFs
dWVPZiBtZXRob2RzIHRoYW4gZG9uJ3QgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZSIsDQotDQotICAg
IHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgdmFyIHRvU3RyaW5nQWNj
ZXNzZWQgPSBmYWxzZTsNCi0gICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCi0N
Ci0gICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQotICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0
aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQotICAg
ICAgICAgICAgICAgIHJldHVybiB7fTsNCi0gICAgICAgICAgICB9LA0KLQ0KLSAgICAgICAgICAg
IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2Vk
ID0gdHJ1ZTsNCi0gICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KLSAgICAgICAgICAgIH0NCi0g
ICAgICAgIH07DQotDQotICAgICAgICB0cnkgew0KLSAgICAgICAgICAgIFswLCBudWxsXS5sYXN0
SW5kZXhPZihudWxsLCBmcm9tSW5kZXgpOw0KLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCi0g
ICAgICAgIH0gY2F0Y2ggKGUpIHsNCi0gICAgICAgICAgICByZXR1cm4gdG9TdHJpbmdBY2Nlc3Nl
ZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQotICAgICAgICB9DQotICAgIH0sDQotDQotICAgIHByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFy
cmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7
CisKKyAgICBpZDogIjE1LjQuNC4xNS01LTI0IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0yNC5qcyIsCisKKyAgICBk
ZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB0aHJvd3MgVHlwZUVycm9y
IGV4Y2VwdGlvbiB3aGVuIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGFuIG9iamVjdCB0aGF0IGJv
dGggdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kcyB0aGFuIGRvbid0IHJldHVybiBwcmltaXRp
dmUgdmFsdWUiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAg
dmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsKKyAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3Nl
ZCA9IGZhbHNlOworCisgICAgICAgIHZhciBmcm9tSW5kZXggPSB7CisgICAgICAgICAgICB0b1N0
cmluZzogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0
cnVlOworICAgICAgICAgICAgICAgIHJldHVybiB7fTsKKyAgICAgICAgICAgIH0sCisKKyAgICAg
ICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICB2YWx1ZU9mQWNj
ZXNzZWQgPSB0cnVlOworICAgICAgICAgICAgICAgIHJldHVybiB7fTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfTsKKworICAgICAgICB0cnkgeworICAgICAgICAgICAgWzAsIG51bGxdLmxhc3RJ
bmRleE9mKG51bGwsIGZyb21JbmRleCk7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgIHJldHVybiB0b1N0cmluZ0FjY2Vzc2VkICYm
IHZhbHVlT2ZBY2Nlc3NlZDsKKyAgICAgICAgfQorICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3Rv
dHlwZS5sYXN0SW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0y
NC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0yNS5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1
LTUtMjUuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0yNS5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSw1OCArMSw1OCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotDQotICAg
IGlkOiAiMTUuNC40LjE1LTUtMjUiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMjUuanMiLA0KLQ0KLSAgICBkZXNj
cmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB1c2UgaW5oZXJpdGVkIHZhbHVl
T2YgbWV0aG9kIHdoZW4gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYW4gb2JqZWN0IHdpdGggYW4g
b3duIHRvU3RyaW5nIGFuZCBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2RzIiwNCi0NCi0gICAgdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3Nl
ZCA9IGZhbHNlOw0KLSAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KLQ0KLSAg
ICAgICAgdmFyIHByb3RvID0gew0KLSAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsN
Ci0gICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCi0gICAgICAgICAgICAg
ICAgcmV0dXJuIDE7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgfTsNCi0NCi0gICAgICAgIHZh
ciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCi0gICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsN
Ci0NCi0gICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCi0gICAgICAgIGNoaWxkLnRvU3Ry
aW5nID0gZnVuY3Rpb24gKCkgew0KLSAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVl
Ow0KLSAgICAgICAgICAgIHJldHVybiAxOw0KLSAgICAgICAgfTsNCi0NCi0gICAgICAgIHJldHVy
biBbMCwgdHJ1ZV0ubGFzdEluZGV4T2YodHJ1ZSwgY2hpbGQpID09PSAxICYmIHZhbHVlT2ZBY2Nl
c3NlZCAmJiAhdG9TdHJpbmdBY2Nlc3NlZDsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJv
dG90eXBlLmxhc3RJbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworCisg
ICAgaWQ6ICIxNS40LjQuMTUtNS0yNSIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMjUuanMiLAorCisgICAgZGVzY3Jp
cHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgdXNlIGluaGVyaXRlZCB2YWx1ZU9m
IG1ldGhvZCB3aGVuIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGFuIG9iamVjdCB3aXRoIGFuIG93
biB0b1N0cmluZyBhbmQgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kcyIsCisKKyAgICB0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZh
bHNlOworICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7CisKKyAgICAgICAgdmFy
IHByb3RvID0geworICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgeworICAgICAgICAg
ICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgcmV0dXJuIDE7
CisgICAgICAgICAgICB9CisgICAgICAgIH07CisKKyAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9u
ICgpIHt9OworICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87CisKKyAgICAgICAgdmFyIGNo
aWxkID0gbmV3IENvbigpOworICAgICAgICBjaGlsZC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsK
KyAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOworICAgICAgICAgICAgcmV0dXJu
IDE7CisgICAgICAgIH07CisKKyAgICAgICAgcmV0dXJuIFswLCB0cnVlXS5sYXN0SW5kZXhPZih0
cnVlLCBjaGlsZCkgPT09IDEgJiYgdmFsdWVPZkFjY2Vzc2VkICYmICF0b1N0cmluZ0FjY2Vzc2Vk
OworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAg
ICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CisgICAgfQor
Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0yNS5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTUtNS0yOC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMjguanMJKHJldmlzaW9uIDE5OTU0OSkK
KysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTUtNS0yOC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1MiArMSw1MiBAQAotLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQot
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotDQotICAgIGlkOiAiMTUuNC40LjE1LTUtMjgiLA0KLQ0K
LSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUu
NC40LjE1LTUtMjguanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5s
YXN0SW5kZXhPZiAtIGFueSBzaWRlLWVmZmVjdHMgaW4gVG9QcmltaXRpdmUgcHJvY2Vzc2luZyBv
ZiAnZnJvbUluZGV4JyBkb24ndCBvY2N1ciBpZiBzdGVwIDEgdGhyb3cgYW4gZXhjZXB0aW9uIiwN
Ci0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgc3Rl
cEZpdmVPY2N1cnMgPSBmYWxzZTsNCi0gICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQotICAgICAg
ICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KLSAgICAgICAgICAgICAgICBzdGVwRml2ZU9j
Y3VycyA9IHRydWU7DQotICAgICAgICAgICAgICAgIHJldHVybiAwOw0KLSAgICAgICAgICAgIH0N
Ci0gICAgICAgIH07DQotDQotICAgICAgICB0cnkgew0KLSAgICAgICAgICAgIEFycmF5LnByb3Rv
dHlwZS5sYXN0SW5kZXhPZi5jYWxsKHVuZGVmaW5lZCwgZnJvbUluZGV4KTsNCi0gICAgICAgICAg
ICByZXR1cm4gZmFsc2U7DQotICAgICAgICB9IGNhdGNoIChlKSB7DQotICAgICAgICAgICAgcmV0
dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAhc3RlcEZpdmVPY2N1cnM7DQotICAgICAg
ICB9DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0K
LSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQot
ICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8K
Ky8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAK
Ky8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisK
KworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKKworICAgIGlkOiAiMTUuNC40LjE1LTUtMjgi
LAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1
LzE1LjQuNC4xNS01LTI4LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBl
Lmxhc3RJbmRleE9mIC0gYW55IHNpZGUtZWZmZWN0cyBpbiBUb1ByaW1pdGl2ZSBwcm9jZXNzaW5n
IG9mICdmcm9tSW5kZXgnIGRvbid0IG9jY3VyIGlmIHN0ZXAgMSB0aHJvdyBhbiBleGNlcHRpb24i
LAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgdmFyIHN0ZXBG
aXZlT2NjdXJzID0gZmFsc2U7CisgICAgICAgIHZhciBmcm9tSW5kZXggPSB7CisgICAgICAgICAg
ICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgc3RlcEZpdmVPY2N1cnMg
PSB0cnVlOworICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgfQorICAgICAg
ICB9OworCisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdElu
ZGV4T2YuY2FsbCh1bmRlZmluZWQsIGZyb21JbmRleCk7CisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5j
ZW9mIFR5cGVFcnJvcikgJiYgIXN0ZXBGaXZlT2NjdXJzOworICAgICAgICB9CisgICAgfSwKKwor
ICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5F
eGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNS01LTI4LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMg
LTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTI5
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTUtNS0yOS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTI5LmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDYyICsxLDYyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
DQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE1LTUtMjkiLA0KLQ0KLSAgICBwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMjkuanMi
LA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGFu
eSBzaWRlLWVmZmVjdHMgaW4gVG9QcmltaXRpdmUgcHJvY2Vzc2luZyBvZiAnZnJvbUluZGV4JyBk
b24ndCBvY2N1ciBpZiBzdGVwIDIgdGhyb3cgYW4gZXhjZXB0aW9uIiwNCi0NCi0gICAgdGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgc3RlcEZpdmVPY2N1cnMgPSBm
YWxzZTsNCi0NCi0gICAgICAgIHZhciBvYmogPSB7fTsNCi0gICAgICAgIE9iamVjdC5kZWZpbmVQ
cm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQotICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7
DQotICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCk7DQotICAgICAgICAgICAg
ICAgIHJldHVybiAyOw0KLSAgICAgICAgICAgIH0sDQotICAgICAgICAgICAgY29uZmlndXJhYmxl
OiB0cnVlDQotICAgICAgICB9KTsNCi0NCi0gICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQotICAg
ICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KLSAgICAgICAgICAgICAgICBzdGVwRml2
ZU9jY3VycyA9IHRydWU7DQotICAgICAgICAgICAgICAgIHJldHVybiAwOw0KLSAgICAgICAgICAg
IH0NCi0gICAgICAgIH07DQotDQotICAgICAgICB0cnkgew0KLSAgICAgICAgICAgIEFycmF5LnBy
b3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgZnJvbUluZGV4KTsNCi0gICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7DQotICAgICAgICB9IGNhdGNoIChlKSB7DQotICAgICAgICAgICAgcmV0dXJu
IChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIXN0ZXBGaXZlT2NjdXJzOw0KLSAgICAgICAg
fQ0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0g
ICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZu
RXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCh7CisKKyAgICBpZDogIjE1LjQuNC4xNS01LTI5IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0yOS5qcyIsCisKKyAg
ICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGFueSBzaWRlLWVm
ZmVjdHMgaW4gVG9QcmltaXRpdmUgcHJvY2Vzc2luZyBvZiAnZnJvbUluZGV4JyBkb24ndCBvY2N1
ciBpZiBzdGVwIDIgdGhyb3cgYW4gZXhjZXB0aW9uIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeworCisgICAgICAgIHZhciBzdGVwRml2ZU9jY3VycyA9IGZhbHNlOworCisgICAg
ICAgIHZhciBvYmogPSB7fTsKKyAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxl
bmd0aCIsIHsKKyAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAg
IHRocm93IG5ldyBSYW5nZUVycm9yKCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIDI7CisgICAg
ICAgICAgICB9LAorICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCisgICAgICAgIH0pOwor
CisgICAgICAgIHZhciBmcm9tSW5kZXggPSB7CisgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlv
biAoKSB7CisgICAgICAgICAgICAgICAgc3RlcEZpdmVPY2N1cnMgPSB0cnVlOworICAgICAgICAg
ICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgfQorICAgICAgICB9OworCisgICAgICAgIHRy
eSB7CisgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIGZy
b21JbmRleCk7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0gY2F0Y2ggKGUp
IHsKKyAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICYmICFzdGVw
Rml2ZU9jY3VyczsKKyAgICAgICAgfQorICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5s
YXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKKyAgICB9CisK
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTI5LmpzCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
b2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNS01LTMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUt
NS0zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQwICsxLDQwIEBACi0vLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0K
LS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
Uw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNS01LTMiLA0KLQ0KLXBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0zLmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuIGZyb21J
bmRleCBpcyBib29sZWFuIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZh
ciBhID0gbmV3IEFycmF5KDEsMiwxKTsNCi0gIGlmIChhLmxhc3RJbmRleE9mKDIsdHJ1ZSkgPT09
IDEgJiYgICAgICAgIC8vIHRydWUgcmVzb2x2ZXMgdG8gMQ0KLSAgICAgYS5sYXN0SW5kZXhPZigy
LGZhbHNlKSA9PT0gLTEgKSB7ICAgICAgLy8gZmFsc2UgcmVzb2x2ZXMgdG8gMA0KLSAgICByZXR1
cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOw0KLSB9
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xNS01LTMiLAorCitwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMy5qcyIs
CisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gZnJvbUlu
ZGV4IGlzIGJvb2xlYW4iLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGEg
PSBuZXcgQXJyYXkoMSwyLDEpOworICBpZiAoYS5sYXN0SW5kZXhPZigyLHRydWUpID09PSAxICYm
ICAgICAgICAvLyB0cnVlIHJlc29sdmVzIHRvIDEKKyAgICAgYS5sYXN0SW5kZXhPZigyLGZhbHNl
KSA9PT0gLTEgKSB7ICAgICAgLy8gZmFsc2UgcmVzb2x2ZXMgdG8gMAorICAgIHJldHVybiB0cnVl
OworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVy
biBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOworIH0KK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNS01LTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMzAu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNS01LTMwLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMzAuanMJKHdv
cmtpbmcgY29weSkKQEAgLTEsNjYgKzEsNjYgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QN
Ci0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtNS0zMCIsDQotDQotICAgIHBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0zMC5qcyIs
DQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gYW55
IHNpZGUtZWZmZWN0cyBpbiBUb1ByaW1pdGl2ZSBwcm9jZXNzaW5nIG9mICdmcm9tSW5kZXgnIGRv
bid0IG9jY3VyIGlmIHN0ZXAgMyB0aHJvdyBhbiBleGNlcHRpb24iLA0KLQ0KLSAgICB0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciBzdGVwRml2ZU9jY3VycyA9IGZh
bHNlOw0KLQ0KLSAgICAgICAgdmFyIG9iaiA9IHt9Ow0KLSAgICAgICAgT2JqZWN0LmRlZmluZVBy
b3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCi0gICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsN
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHsNCi0gICAgICAgICAgICAgICAgICAgIHZhbHVlT2Y6
IGZ1bmN0aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVy
cm9yKCk7DQotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDIwOw0KLSAgICAgICAgICAg
ICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgfSwNCi0gICAgICAg
ICAgICBjb25maWd1cmFibGU6IHRydWUNCi0gICAgICAgIH0pOw0KLQ0KLSAgICAgICAgdmFyIGZy
b21JbmRleCA9IHsNCi0gICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQotICAgICAg
ICAgICAgICAgIHN0ZXBGaXZlT2NjdXJzID0gdHJ1ZTsNCi0gICAgICAgICAgICAgICAgcmV0dXJu
IDA7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgfTsNCi0NCi0gICAgICAgIHRyeSB7DQotICAg
ICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCBmcm9tSW5kZXgp
Ow0KLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCi0gICAgICAgIH0gY2F0Y2ggKGUpIHsNCi0g
ICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmICFzdGVwRml2ZU9j
Y3VyczsNCi0gICAgICAgIH0NCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxh
c3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOw0KLSAgICB9DQot
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQuMTUtNS0zMCIsCisKKyAgICBw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1
LTUtMzAuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4
T2YgLSBhbnkgc2lkZS1lZmZlY3RzIGluIFRvUHJpbWl0aXZlIHByb2Nlc3Npbmcgb2YgJ2Zyb21J
bmRleCcgZG9uJ3Qgb2NjdXIgaWYgc3RlcCAzIHRocm93IGFuIGV4Y2VwdGlvbiIsCisKKyAgICB0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIgc3RlcEZpdmVPY2N1cnMg
PSBmYWxzZTsKKworICAgICAgICB2YXIgb2JqID0ge307CisgICAgICAgIE9iamVjdC5kZWZpbmVQ
cm9wZXJ0eShvYmosICJsZW5ndGgiLCB7CisgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsK
KyAgICAgICAgICAgICAgICByZXR1cm4geworICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mOiBm
dW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9y
KCk7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjA7CisgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgY29u
ZmlndXJhYmxlOiB0cnVlCisgICAgICAgIH0pOworCisgICAgICAgIHZhciBmcm9tSW5kZXggPSB7
CisgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgc3Rl
cEZpdmVPY2N1cnMgPSB0cnVlOworICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAg
ICAgfQorICAgICAgICB9OworCisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBBcnJheS5wcm90
b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIGZyb21JbmRleCk7CisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgIHJldHVybiAoZSBp
bnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgIXN0ZXBGaXZlT2NjdXJzOworICAgICAgICB9CisgICAg
fSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmpl
Y3QuZGVmaW5lUHJvcGVydHkpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUt
MzAuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMzEuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NS01LTMxLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtMzEuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsNDAgKzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
Lg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAg
aWQ6ICIxNS40LjQuMTUtNS0zMSIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0zMS5qcyIsDQotDQotICAgIGRlc2Ny
aXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gJ2Zyb21JbmRleCcgaXMg
YSBwb3NpdGl2ZSBub24taW50ZWdlciwgdmVyaWZ5IHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBw
cm9wZXIgZGlyZWN0aW9uIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQot
ICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQotICAgICAgICByZXR1cm4gWzAsIHRhcmdldE9i
aiwgdHJ1ZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAxLjUpID09PSAxICYmDQotICAgICAgICAg
ICAgWzAsIHRydWUsIHRhcmdldE9ial0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAxLjUpID09PSAt
MTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQot
ICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0g
ICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bwor
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAor
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE1LTUtMzEiLAor
CisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1
LjQuNC4xNS01LTMxLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxh
c3RJbmRleE9mIHdoZW4gJ2Zyb21JbmRleCcgaXMgYSBwb3NpdGl2ZSBub24taW50ZWdlciwgdmVy
aWZ5IHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uIiwKKworICAgIHRl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307Cisg
ICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCB0cnVlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmos
IDEuNSkgPT09IDEgJiYKKyAgICAgICAgICAgIFswLCB0cnVlLCB0YXJnZXRPYmpdLmxhc3RJbmRl
eE9mKHRhcmdldE9iaiwgMS41KSA9PT0gLTE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90
eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTMx
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTMyLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUt
NS0zMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTMyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQxICsxLDQxIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4N
Ci0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlk
OiAiMTUuNC40LjE1LTUtMzIiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMzIuanMiLA0KLQ0KLSAgICBkZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuICdmcm9tSW5kZXgnIGlzIGEg
bmVnYXRpdmUgbm9uLWludGVnZXIsIHZlcmlmeSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJv
cGVyIGRpcmVjdGlvbiIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAg
ICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KLSAgICAgICAgcmV0dXJuIFswLCB0YXJnZXRPYmos
IHRydWVdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgLTIuNSkgPT09IDEgJiYNCi0gICAgICAgICAg
ICBbMCwgdHJ1ZSwgdGFyZ2V0T2JqXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIC0yLjUpID09PSAt
MTsNCi0NCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsN
Ci0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8v
IAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE1LTUtMzIi
LAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1
LzE1LjQuNC4xNS01LTMyLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBl
Lmxhc3RJbmRleE9mIHdoZW4gJ2Zyb21JbmRleCcgaXMgYSBuZWdhdGl2ZSBub24taW50ZWdlciwg
dmVyaWZ5IHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uIiwKKworICAg
IHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307
CisgICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCB0cnVlXS5sYXN0SW5kZXhPZih0YXJnZXRP
YmosIC0yLjUpID09PSAxICYmCisgICAgICAgICAgICBbMCwgdHJ1ZSwgdGFyZ2V0T2JqXS5sYXN0
SW5kZXhPZih0YXJnZXRPYmosIC0yLjUpID09PSAtMTsKKworICAgIH0sCisKKyAgICBwcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5
LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTUtNS0zMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMK
K0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0zMy5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE1LTUtMzMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS0zMy5qcwkod29ya2luZyBjb3B5
KQpAQCAtMSw0MyArMSw0MyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
DQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQot
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0K
LSAgICBpZDogIjE1LjQuNC4xNS01LTMzIiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTMzLmpzIiwNCi0NCi0gICAg
ZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbWF0Y2ggb24gdGhlIGZp
cnN0IGVsZW1lbnQsIGEgbWlkZGxlIGVsZW1lbnQgYW5kIHRoZSBsYXN0IGVsZW1lbnQgd2hlbiAn
ZnJvbUluZGV4JyBpcyBwYXNzZWQiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsNCi0NCi0gICAgICAgIHJldHVybiBbMCwgMSwgMiwgMywgNF0ubGFzdEluZGV4T2YoMCwgMCkg
PT09IDAgJiYNCi0gICAgICAgICAgICBbMCwgMSwgMiwgMywgNF0ubGFzdEluZGV4T2YoMCwgMikg
PT09IDAgJiYNCi0gICAgICAgICAgICBbMCwgMSwgMiwgMywgNF0ubGFzdEluZGV4T2YoMiwgMikg
PT09IDIgJiYNCi0gICAgICAgICAgICBbMCwgMSwgMiwgMywgNF0ubGFzdEluZGV4T2YoMiwgNCkg
PT09IDIgJiYNCi0gICAgICAgICAgICBbMCwgMSwgMiwgMywgNF0ubGFzdEluZGV4T2YoNCwgNCkg
PT09IDQ7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
ew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7
DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8v
LyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNS01LTMz
IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4x
NS8xNS40LjQuMTUtNS0zMy5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlw
ZS5sYXN0SW5kZXhPZiBtYXRjaCBvbiB0aGUgZmlyc3QgZWxlbWVudCwgYSBtaWRkbGUgZWxlbWVu
dCBhbmQgdGhlIGxhc3QgZWxlbWVudCB3aGVuICdmcm9tSW5kZXgnIGlzIHBhc3NlZCIsCisKKyAg
ICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICByZXR1cm4gWzAsIDEsIDIs
IDMsIDRdLmxhc3RJbmRleE9mKDAsIDApID09PSAwICYmCisgICAgICAgICAgICBbMCwgMSwgMiwg
MywgNF0ubGFzdEluZGV4T2YoMCwgMikgPT09IDAgJiYKKyAgICAgICAgICAgIFswLCAxLCAyLCAz
LCA0XS5sYXN0SW5kZXhPZigyLCAyKSA9PT0gMiAmJgorICAgICAgICAgICAgWzAsIDEsIDIsIDMs
IDRdLmxhc3RJbmRleE9mKDIsIDQpID09PSAyICYmCisgICAgICAgICAgICBbMCwgMSwgMiwgMywg
NF0ubGFzdEluZGV4T2YoNCwgNCkgPT09IDQ7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90
eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTMz
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTQuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01
LTQuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS00LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQx
ICsxLDQxIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAN
Ci0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0v
Ly8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQu
NC4xNS01LTQiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1
LjQuNC4xNS8xNS40LjQuMTUtNS00LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3Rv
dHlwZS5sYXN0SW5kZXhPZiB3aGVuIGZyb21JbmRleCBpcyB1bmRlZmluZWQiLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGEgPSBuZXcgQXJyYXkoMSwyLDEpOw0KLSAg
aWYgKGEubGFzdEluZGV4T2YoMix1bmRlZmluZWQpID09PSAtMSAmJg0KLSAgICAgIGEubGFzdElu
ZGV4T2YoMSx1bmRlZmluZWQpID09PSAwICAmJg0KLSAgICAgIGEubGFzdEluZGV4T2YoMSkgPT09
IDIpICAgeyAgICAvLyB1bmRlZmluZWQgcmVzb2x2ZXMgdG8gMCwgbm8gc2Vjb25kIGFyZ3VtZW50
IHJlc29sdmVzIHRvIGxlbg0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5w
cm90b3R5cGUubGFzdEluZGV4T2YpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
CisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1
LjQuNC4xNS01LTQiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMTUvMTUuNC40LjE1LTUtNC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90
eXBlLmxhc3RJbmRleE9mIHdoZW4gZnJvbUluZGV4IGlzIHVuZGVmaW5lZCIsCisKK3Rlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgYSA9IG5ldyBBcnJheSgxLDIsMSk7CisgIGlmIChh
Lmxhc3RJbmRleE9mKDIsdW5kZWZpbmVkKSA9PT0gLTEgJiYKKyAgICAgIGEubGFzdEluZGV4T2Yo
MSx1bmRlZmluZWQpID09PSAwICAmJgorICAgICAgYS5sYXN0SW5kZXhPZigxKSA9PT0gMikgICB7
ICAgIC8vIHVuZGVmaW5lZCByZXNvbHZlcyB0byAwLCBubyBzZWNvbmQgYXJndW1lbnQgcmVzb2x2
ZXMgdG8gbGVuCisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0
SW5kZXhPZik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtNC5qcwpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS01LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS01LmpzCShyZXZpc2lv
biAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE1LTUtNS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOSArMSwzOSBAQAotLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0K
LQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTUtNS01IiwNCi0N
Ci1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40
LjE1LTUtNS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4
T2Ygd2hlbiBmcm9tSW5kZXggaXMgbnVsbCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotICB2YXIgYSA9IG5ldyBBcnJheSgxLDIsMSk7DQotICBpZiAoYS5sYXN0SW5kZXhPZigy
LG51bGwpID09PSAtMSAmJiBhLmxhc3RJbmRleE9mKDEsbnVsbCkgPT09IDApIHsgICAgICAgLy8g
bnVsbCByZXNvbHZlcyB0byAwDQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5
LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAi
MTUuNC40LjE1LTUtNSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40
LzE1LjQuNC4xNS8xNS40LjQuMTUtNS01LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90
b3R5cGUubGFzdEluZGV4T2Ygd2hlbiBmcm9tSW5kZXggaXMgbnVsbCIsCisKK3Rlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgeworICB2YXIgYSA9IG5ldyBBcnJheSgxLDIsMSk7CisgIGlmIChhLmxh
c3RJbmRleE9mKDIsbnVsbCkgPT09IC0xICYmIGEubGFzdEluZGV4T2YoMSxudWxsKSA9PT0gMCkg
eyAgICAgICAvLyBudWxsIHJlc29sdmVzIHRvIDAKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0s
CisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMo
QXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTUtNS01LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIwor
TEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTYuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNS01LTYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS02LmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0v
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAg
IGlkOiAiMTUuNC40LjE1LTUtNiIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS02LmpzIiwNCi0NCi0gICAgZGVzY3Jp
cHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdGxhc3RJbmRleE9mIHdoZW4gJ2Zyb21JbmRleCcg
aXNuknQgcGFzc2VkIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICAg
ICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDMsIDRdOw0KLSAgICAgICAgLy8nZnJvbUluZGV4JyB3
aWxsIGJlIHNldCBhcyA0IGlmIG5vdCBwYXNzZWQgYnkgZGVmYXVsdA0KLSAgICAgICAgcmV0dXJu
IGFyci5sYXN0SW5kZXhPZigwKSA9PT0gYXJyLmxhc3RJbmRleE9mKDAsIDQpICYmDQotICAgICAg
ICAgICAgYXJyLmxhc3RJbmRleE9mKDIpID09PSBhcnIubGFzdEluZGV4T2YoMiwgNCkgJiYNCi0g
ICAgICAgICAgICBhcnIubGFzdEluZGV4T2YoNCkgPT09IGFyci5sYXN0SW5kZXhPZig0LCA0KTsN
Ci0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAg
ICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0gICAg
fQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE1LTUtNiIsCisKKyAg
ICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40
LjE1LTUtNi5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0bGFz
dEluZGV4T2Ygd2hlbiAnZnJvbUluZGV4JyBpc26SdCBwYXNzZWQiLAorCisgICAgdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgMywgNF07Cisg
ICAgICAgIC8vJ2Zyb21JbmRleCcgd2lsbCBiZSBzZXQgYXMgNCBpZiBub3QgcGFzc2VkIGJ5IGRl
ZmF1bHQKKyAgICAgICAgcmV0dXJuIGFyci5sYXN0SW5kZXhPZigwKSA9PT0gYXJyLmxhc3RJbmRl
eE9mKDAsIDQpICYmCisgICAgICAgICAgICBhcnIubGFzdEluZGV4T2YoMikgPT09IGFyci5sYXN0
SW5kZXhPZigyLCA0KSAmJgorICAgICAgICAgICAgYXJyLmxhc3RJbmRleE9mKDQpID09PSBhcnIu
bGFzdEluZGV4T2YoNCwgNCk7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJ
bmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTYuanMKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtNy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtNy5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNS01LTcuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDAgKzEsNDAgQEAK
LS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0v
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0K
LQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUt
NS03IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjE1LzE1LjQuNC4xNS01LTcuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnBy
b3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgbnVtYmVy
ICh2YWx1ZSBpcyAwKSIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0K
LSAgICAgICAgcmV0dXJuIFswLCAxMDBdLmxhc3RJbmRleE9mKDEwMCwgMCkgPT09IC0xICYmIC8v
IHZlcmlmeSBmcm9tSW5kZXggaXMgbm90IG1vcmUgdGhhbiAwDQotICAgICAgICAgICAgWzIwMCwg
MF0ubGFzdEluZGV4T2YoMjAwLCAwKSA9PT0gMDsgLy8gdmVyaWZ5IGZyb21JbmRleCBpcyBub3Qg
bGVzcyB0aGFuIDANCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRl
eE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE1
LTUtNyIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40
LjQuMTUvMTUuNC40LjE1LTUtNy5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3Rv
dHlwZS5sYXN0SW5kZXhPZiB3aGVuIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgbnVtYmVyICh2
YWx1ZSBpcyAwKSIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAg
ICByZXR1cm4gWzAsIDEwMF0ubGFzdEluZGV4T2YoMTAwLCAwKSA9PT0gLTEgJiYgLy8gdmVyaWZ5
IGZyb21JbmRleCBpcyBub3QgbW9yZSB0aGFuIDAKKyAgICAgICAgICAgIFsyMDAsIDBdLmxhc3RJ
bmRleE9mKDIwMCwgMCkgPT09IDA7IC8vIHZlcmlmeSBmcm9tSW5kZXggaXMgbm90IGxlc3MgdGhh
biAwCisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAg
ICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9
CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS01LTcuanMKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE1LTUtOC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtOC5qcwkocmV2aXNpb24gMTk5NTQ5KQor
KysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NS01LTguanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDAgKzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
DQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtNS04IiwNCi0NCi0gICAg
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4x
NS01LTguanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5k
ZXhPZiB3aGVuIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyArMCki
LA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHJldHVy
biBbMCwgdHJ1ZV0ubGFzdEluZGV4T2YodHJ1ZSwgKzApID09PSAtMSAmJg0KLSAgICAgICAgICAg
IFt0cnVlLCAwXS5sYXN0SW5kZXhPZih0cnVlLCArMCkgPT09IDA7DQotICAgIH0sDQotDQotICAg
IHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhp
c3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNS01LTgiLAorCisgICAgcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTguanMiLAorCisg
ICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiB2YWx1ZSBv
ZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgKzApIiwKKworICAgIHRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHJldHVybiBbMCwgdHJ1ZV0ubGFzdEluZGV4
T2YodHJ1ZSwgKzApID09PSAtMSAmJgorICAgICAgICAgICAgW3RydWUsIDBdLmxhc3RJbmRleE9m
KHRydWUsICswKSA9PT0gMDsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdElu
ZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTUtOC5qcwpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS05LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNS05LmpzCShyZXZp
c2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE1LTUtOS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAot
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0K
LQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotDQotICAgIGlkOiAiMTUuNC40LjE1
LTUtOSIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1
LjQuNC4xNS8xNS40LjQuMTUtNS05LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJl
ciAodmFsdWUgaXMgLTApIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQot
DQotICAgICAgICByZXR1cm4gWzAsIHRydWVdLmxhc3RJbmRleE9mKHRydWUsIC0wKSA9PT0gLTEg
JiYNCi0gICAgICAgICAgICBbdHJ1ZSwgMF0ubGFzdEluZGV4T2YodHJ1ZSwgLTApID09PSAwOw0K
LSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAg
ICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOw0KLSAgICB9
DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
CisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
CisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CisKKyAgICBpZDogIjE1LjQuNC4xNS01LTkiLAorCisg
ICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQu
NC4xNS01LTkuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdElu
ZGV4T2Ygd2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgLTAp
IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHJldHVybiBb
MCwgdHJ1ZV0ubGFzdEluZGV4T2YodHJ1ZSwgLTApID09PSAtMSAmJgorICAgICAgICAgICAgW3Ry
dWUsIDBdLmxhc3RJbmRleE9mKHRydWUsIC0wKSA9PT0gMDsKKyAgICB9LAorCisgICAgcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJh
eS5wcm90b3R5cGUubGFzdEluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE1LTUtOS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMK
K0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNi0xLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTUtNi0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTYtMS5qcwkod29ya2luZyBjb3B5KQpA
QCAtMSw0MCArMSw0MCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQot
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6
ICIxNS40LjQuMTUtNi0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1
LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTYtMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJh
eS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiBmcm9tSW5kZXggZ3JlYXRlciB0aGFuIEFycmF5
Lmxlbmd0aCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgYSA9IG5l
dyBBcnJheSgxLDIsMyk7DQotICBpZiAoYS5sYXN0SW5kZXhPZigzLDUuNCkgPT09IDIgJiYgIA0K
LSAgICAgYS5sYXN0SW5kZXhPZigzLDMuMSkgPT09IDIgKSB7DQotICAgIHJldHVybiB0cnVlOw0K
LSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0
dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotIH0NCi19KTsNCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE1LTYtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNi0xLmpzIiwKKworZGVzY3Jp
cHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiBmcm9tSW5kZXggZ3JlYXRl
ciB0aGFuIEFycmF5Lmxlbmd0aCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2
YXIgYSA9IG5ldyBBcnJheSgxLDIsMyk7CisgIGlmIChhLmxhc3RJbmRleE9mKDMsNS40KSA9PT0g
MiAmJiAgCisgICAgIGEubGFzdEluZGV4T2YoMywzLjEpID09PSAyICkgeworICAgIHJldHVybiB0
cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJl
dHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOworIH0KK30pOwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNS02LTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQoj
IyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTYt
Mi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE1LTYtMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS02LTIuanMJKHdv
cmtpbmcgY29weSkKQEAgLTEsNDAgKzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QN
Ci0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNS02LTIiLA0KLQ0KLSAgICBwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTYtMi5qcyIs
DQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVy
bnMgY29ycmVjdCBpbmRleCB3aGVuICdmcm9tSW5kZXgnIGlzIGxlbmd0aCBvZiBhcnJheSAtIDEi
LA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHJldHVy
biBbMSwgMiwgM10ubGFzdEluZGV4T2YoMywgMikgPT09IDI7DQotICAgIH0sDQotDQotICAgIHBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3Rz
KEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotICAgIH0NCi0NCi19KQ0KLQ0KKy8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisv
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggeworCisgICAgaWQ6ICIxNS40LjQuMTUtNi0yIiwKKworICAgIHBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNi0yLmpzIiwKKwor
ICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgY29y
cmVjdCBpbmRleCB3aGVuICdmcm9tSW5kZXgnIGlzIGxlbmd0aCBvZiBhcnJheSAtIDEiLAorCisg
ICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgcmV0dXJuIFsxLCAyLCAz
XS5sYXN0SW5kZXhPZigzLCAyKSA9PT0gMjsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUubGFzdEluZGV4T2YpOworICAgIH0KKworfSkKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS02LTIu
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTYtMy5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTYt
My5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS02LTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDAg
KzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLQ0KLSAgICBpZDog
IjE1LjQuNC4xNS02LTMiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40
LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTYtMy5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgLTEgd2hlbiAnZnJvbUluZGV4
JyBpcyBsZW5ndGggb2YgYXJyYXkgLSAxIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7DQotDQotICAgICAgICByZXR1cm4gWzEsIDIsIDNdLmxhc3RJbmRleE9mKDMsIDEpID09
PSAtMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsN
Ci0gICAgfQ0KLQ0KLX0pDQotDQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisv
Ly8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CisKKyAgICBpZDogIjE1LjQuNC4xNS02
LTMiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40
LjE1LzE1LjQuNC4xNS02LTMuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5
cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSB3aGVuICdmcm9tSW5kZXgnIGlzIGxlbmd0aCBvZiBh
cnJheSAtIDEiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAg
cmV0dXJuIFsxLCAyLCAzXS5sYXN0SW5kZXhPZigzLCAxKSA9PT0gLTE7CisgICAgfSwKKworICAg
IHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisKK30pCisKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTUtNi0zLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS02LTQuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNS02LTQuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNi00LmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDQwICsxLDQwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
Ci0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtNi00IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS02LTQuanMiLA0KLQ0K
LSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0x
IHdoZW4gJ2Zyb21JbmRleCcgYW5kICdsZW5ndGgnIGFyZSBib3RoIDAiLA0KLQ0KLSAgICB0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHJldHVybiBbXS5sYXN0SW5kZXhP
ZigxLCAwKSA9PT0gLTE7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0
SW5kZXhPZik7DQotICAgIH0NCi0NCi19KQ0KLQ0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IK
Ky8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworCisgICAgaWQ6ICIx
NS40LjQuMTUtNi00IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUu
NC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNi00LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgLTEgd2hlbiAnZnJvbUluZGV4JyBhbmQg
J2xlbmd0aCcgYXJlIGJvdGggMCIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsK
KworICAgICAgICByZXR1cm4gW10ubGFzdEluZGV4T2YoMSwgMCkgPT09IC0xOworICAgIH0sCisK
KyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZu
RXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CisgICAgfQorCit9KQorCgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE1LTYtNC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMj
IC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNi01
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTUtNi01LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTYtNS5qcwkod29y
a2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0K
LS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7DQotDQotICAgIGlkOiAiMTUuNC40LjE1LTYtNSIsDQotDQotICAgIHBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNi01LmpzIiwN
Ci0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJu
cyAtMSB3aGVuICdmcm9tSW5kZXgnIGlzIDEiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsNCi0NCi0gICAgICAgIHJldHVybiBbMSwgMiwgM10ubGFzdEluZGV4T2YoMywgMSkg
PT09IC0xOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Yp
Ow0KLSAgICB9DQotDQotfSkNCi0NCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKKworICAgIGlkOiAiMTUuNC40LjE1
LTYtNSIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40
LjQuMTUvMTUuNC40LjE1LTYtNS5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3Rv
dHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gJ2Zyb21JbmRleCcgaXMgMSIsCisKKyAg
ICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICByZXR1cm4gWzEsIDIsIDNd
Lmxhc3RJbmRleE9mKDMsIDEpID09PSAtMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUubGFzdEluZGV4T2YpOworICAgIH0KKworfSkKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS02LTUu
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTYtNi5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTYt
Ni5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS02LTYuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDAg
KzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLQ0KLSAgICBpZDog
IjE1LjQuNC4xNS02LTYiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40
LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTYtNi5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgY29ycmVjdCBpbmRleCB3aGVu
ICdmcm9tSW5kZXgnIGlzIDEiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsN
Ci0NCi0gICAgICAgIHJldHVybiBbMSwgMiwgM10ubGFzdEluZGV4T2YoMiwgMSkgPT09IDE7DQot
ICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAg
ICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotICAgIH0N
Ci0NCi19KQ0KLQ0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworCisgICAgaWQ6ICIxNS40LjQuMTUtNi02IiwKKwor
ICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40
LjQuMTUtNi02LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJ
bmRleE9mIHJldHVybnMgY29ycmVjdCBpbmRleCB3aGVuICdmcm9tSW5kZXgnIGlzIDEiLAorCisg
ICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgcmV0dXJuIFsxLCAyLCAz
XS5sYXN0SW5kZXhPZigyLCAxKSA9PT0gMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUubGFzdEluZGV4T2YpOworICAgIH0KKworfSkKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS02LTYu
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTctMS5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTct
MS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS03LTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIg
KzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40
LjE1LTctMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjE1LzE1LjQuNC4xNS03LTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90
eXBlLmxhc3RJbmRleE9mIHdpdGggbmVnYXRpdmUgZnJvbUluZGV4ICIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgYSA9IG5ldyBBcnJheSgxLDIsMyk7DQotICANCi0g
IGlmIChhLmxhc3RJbmRleE9mKDIsLTIpID09PSAxICYmICANCi0gICAgICBhLmxhc3RJbmRleE9m
KDIsLTMpID09PSAtMSAmJiAgDQotICAgICAgYS5sYXN0SW5kZXhPZigxLC01LjMpID09PSAtMSAp
IHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJ
bmRleE9mKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
Ly8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTUtNy0xIiwK
KworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQu
NC4xNS03LTEuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhP
ZiB3aXRoIG5lZ2F0aXZlIGZyb21JbmRleCAiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsKKyAgdmFyIGEgPSBuZXcgQXJyYXkoMSwyLDMpOworICAKKyAgaWYgKGEubGFzdEluZGV4T2Yo
MiwtMikgPT09IDEgJiYgIAorICAgICAgYS5sYXN0SW5kZXhPZigyLC0zKSA9PT0gLTEgJiYgIAor
ICAgICAgYS5sYXN0SW5kZXhPZigxLC01LjMpID09PSAtMSApIHsKKyAgICByZXR1cm4gdHJ1ZTsK
KyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4g
Zm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyB9Cit9KTsKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTUtNy0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS03LTIuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNS03LTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNy0yLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDQwICsxLDQwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
Ci0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtNy0yIiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS03LTIuanMiLA0KLQ0K
LSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIGNv
cnJlY3QgaW5kZXggd2hlbiAnZnJvbUluZGV4JyBpcyAtMSIsDQotDQotICAgIHRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgcmV0dXJuIFsxLCAyLCAzLCA0XS5sYXN0SW5k
ZXhPZig0LCAtMSkgPT09IDM7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5s
YXN0SW5kZXhPZik7DQotICAgIH0NCi0NCi19KQ0KLQ0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwor
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworCisgICAgaWQ6
ICIxNS40LjQuMTUtNy0yIiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNy0yLmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAi
QXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgY29ycmVjdCBpbmRleCB3aGVuICdm
cm9tSW5kZXgnIGlzIC0xIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisg
ICAgICAgIHJldHVybiBbMSwgMiwgMywgNF0ubGFzdEluZGV4T2YoNCwgLTEpID09PSAzOworICAg
IH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0
dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CisgICAgfQorCit9KQor
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE1LTctMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTUtNy0zLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtNy0zLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTctMy5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw0MCArMSw0MCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7DQotDQotICAgIGlkOiAiMTUuNC40LjE1LTctMyIsDQotDQotICAgIHBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNy0z
LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Yg
cmV0dXJucyAtMSB3aGVuIGFicygnZnJvbUluZGV4JykgaXMgbGVuZ3RoIG9mIGFycmF5IC0gMSIs
DQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgcmV0dXJu
IFsxLCAyLCAzLCA0XS5sYXN0SW5kZXhPZigzLCAtMykgPT09IC0xOw0KLSAgICB9LA0KLQ0KLSAg
ICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4
aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOw0KLSAgICB9DQotDQotfSkNCi0NCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsKKworICAgIGlkOiAiMTUuNC40LjE1LTctMyIsCisKKyAgICBwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTctMy5qcyIs
CisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5z
IC0xIHdoZW4gYWJzKCdmcm9tSW5kZXgnKSBpcyBsZW5ndGggb2YgYXJyYXkgLSAxIiwKKworICAg
IHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHJldHVybiBbMSwgMiwgMywg
NF0ubGFzdEluZGV4T2YoMywgLTMpID09PSAtMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90
b3R5cGUubGFzdEluZGV4T2YpOworICAgIH0KKworfSkKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS03
LTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTctNC5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1
LTctNC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS03LTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
NDAgKzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLQ0KLSAgICBp
ZDogIjE1LjQuNC4xNS03LTQiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTctNC5qcyIsDQotDQotICAgIGRlc2NyaXB0
aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgLTEgd2hlbiBhYnMoJ2Zy
b21JbmRleCcpIGlzIGxlbmd0aCBvZiBhcnJheSIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgew0KLQ0KLSAgICAgICAgcmV0dXJuIFsxLCAyLCAzLCA0XS5sYXN0SW5kZXhPZigy
LCAtNCkgPT09IC0xOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdElu
ZGV4T2YpOw0KLSAgICB9DQotDQotfSkNCi0NCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisv
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKKworICAgIGlkOiAiMTUu
NC40LjE1LTctNCIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQu
NC8xNS40LjQuMTUvMTUuNC40LjE1LTctNC5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gYWJzKCdmcm9tSW5kZXgnKSBp
cyBsZW5ndGggb2YgYXJyYXkiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisK
KyAgICAgICAgcmV0dXJuIFsxLCAyLCAzLCA0XS5sYXN0SW5kZXhPZigyLCAtNCkgPT09IC0xOwor
ICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAg
cmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CisgICAgfQorCit9
KQorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTctNC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTUtOC0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgt
MS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MyArMSw0MyBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTUtOC0xIiwNCi0NCi1wYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtMS5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4g
Y29ycmVjdCBpbmRleChib29sZWFuKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
DQotICB2YXIgb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRydWV9fTsNCi0gIHZh
ciBfZmFsc2UgPSBmYWxzZTsNCi0gIHZhciBhID0gbmV3IEFycmF5KGZhbHNlLHRydWUsZmFsc2Us
b2JqLF9mYWxzZSx0cnVlLCJ0cnVlIiwgdW5kZWZpbmVkLDAsbnVsbCwxLCJzdHIiLDAsMSk7DQot
ICBpZiAoYS5sYXN0SW5kZXhPZih0cnVlKSA9PT0gNSAmJiAgLy9hWzVdPXRydWUNCi0gICAgICBh
Lmxhc3RJbmRleE9mKGZhbHNlKSA9PT0gNCkgICAgLy9hWzRdID1fZmFsc2UNCi0gIHsNCi0gICAg
cmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsN
Ci0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTUtOC0xIiwKKworcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTEu
anMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBtdXN0IHJl
dHVybiBjb3JyZWN0IGluZGV4KGJvb2xlYW4pIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7CisgIHZhciBvYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZX19OworICB2
YXIgX2ZhbHNlID0gZmFsc2U7CisgIHZhciBhID0gbmV3IEFycmF5KGZhbHNlLHRydWUsZmFsc2Us
b2JqLF9mYWxzZSx0cnVlLCJ0cnVlIiwgdW5kZWZpbmVkLDAsbnVsbCwxLCJzdHIiLDAsMSk7Cisg
IGlmIChhLmxhc3RJbmRleE9mKHRydWUpID09PSA1ICYmICAvL2FbNV09dHJ1ZQorICAgICAgYS5s
YXN0SW5kZXhPZihmYWxzZSkgPT09IDQpICAgIC8vYVs0XSA9X2ZhbHNlCisgIHsKKyAgICByZXR1
cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewor
ICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyB9Cit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NS04LTEwLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC0xMC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LTEw
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQzICsxLDQzIEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotLyoqIG5vdGUgdGhhdCBw
cmlvciB0byB0aGUgZmluYWxseSBFUzUgZHJhZnQgU2FtZVZhbHVlIHdhcyB1c2VkIGZvciBjb21w
YXJpc2lvbnMNCi1hbmQgaGVuY2UgTmFOcyBjb3VsZCBiZSBmb3VuZCB1c2luZyBsYXN0SW5kZXhP
ZiAqKi8NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE1LTgt
MTAiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4x
NS8xNS40LjQuMTUtOC0xMC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUu
bGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCAoTmFOKSIsDQotDQotdGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgX05hTiA9IE5hTjsNCi0gIHZhciBhID0gbmV3
IEFycmF5KCJOYU4iLF9OYU4sTmFOLCB1bmRlZmluZWQsMCxmYWxzZSxudWxsLHt0b1N0cmluZzpm
dW5jdGlvbigpe3JldHVybiBOYU59fSwiZmFsc2UiKTsNCi0gIGlmIChhLmxhc3RJbmRleE9mKE5h
TikgPT09IC0xKSAgLy8gTmFOIG1hdGNoZXMgbm90aGluZywgbm90IGV2ZW4gaXRzZWxmDQotICB7
DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5k
ZXhPZik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8v
LyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisKKy8qKiBub3RlIHRoYXQgcHJpb3IgdG8gdGhlIGZpbmFsbHkgRVM1IGRyYWZ0IFNhbWVWYWx1
ZSB3YXMgdXNlZCBmb3IgY29tcGFyaXNpb25zCithbmQgaGVuY2UgTmFOcyBjb3VsZCBiZSBmb3Vu
ZCB1c2luZyBsYXN0SW5kZXhPZiAqKi8KKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTUuNC40LjE1LTgtMTAiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1
LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtMTAuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChOYU4pIiwK
KwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBfTmFOID0gTmFOOworICB2YXIg
YSA9IG5ldyBBcnJheSgiTmFOIixfTmFOLE5hTiwgdW5kZWZpbmVkLDAsZmFsc2UsbnVsbCx7dG9T
dHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gTmFOfX0sImZhbHNlIik7CisgIGlmIChhLmxhc3RJbmRl
eE9mKE5hTikgPT09IC0xKSAgLy8gTmFOIG1hdGNoZXMgbm90aGluZywgbm90IGV2ZW4gaXRzZWxm
CisgIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRl
eE9mKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC0xMC5qcwpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTUtOC0xMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtMTEuanMJKHJldmlzaW9u
IDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTUtOC0xMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0OSArMSw0OSBAQAotLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0K
LQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotDQotICAgIGlkOiAiMTUuNC40LjE1LTgt
MTEiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40
LjQuMTUvMTUuNC40LjE1LTgtMTEuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnBy
b3RvdHlwZS5sYXN0SW5kZXhPZiAtIHRoZSBsZW5ndGggb2YgaXRlcmF0aW9uIGlzbpJ0IGNoYW5n
ZWQgYnkgYWRkaW5nIGVsZW1lbnRzIHRvIHRoZSBhcnJheSBkdXJpbmcgaXRlcmF0aW9uIiwNCi0N
Ci0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgYXJyID0g
WzIwXTsNCi0NCi0gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KLSAg
ICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KLSAgICAgICAgICAgICAgICBhcnJbMV0gPSAx
Ow0KLSAgICAgICAgICAgICAgICByZXR1cm4gMDsNCi0gICAgICAgICAgICB9LA0KLSAgICAgICAg
ICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KLSAgICAgICAgfSk7DQotDQotICAgICAgICByZXR1cm4g
YXJyLmxhc3RJbmRleE9mKDEpID09PSAtMTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJv
dG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOw0K
LSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
CisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8g
CisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CisKKyAgICBpZDogIjE1LjQuNC4xNS04LTEx
IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4x
NS8xNS40LjQuMTUtOC0xMS5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlw
ZS5sYXN0SW5kZXhPZiAtIHRoZSBsZW5ndGggb2YgaXRlcmF0aW9uIGlzbpJ0IGNoYW5nZWQgYnkg
YWRkaW5nIGVsZW1lbnRzIHRvIHRoZSBhcnJheSBkdXJpbmcgaXRlcmF0aW9uIiwKKworICAgIHRl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHZhciBhcnIgPSBbMjBdOworCisg
ICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgeworICAgICAgICAgICAgZ2V0
OiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgYXJyWzFdID0gMTsKKyAgICAgICAgICAg
ICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBjb25maWd1cmFibGU6
IHRydWUKKyAgICAgICAgfSk7CisKKyAgICAgICAgcmV0dXJuIGFyci5sYXN0SW5kZXhPZigxKSA9
PT0gLTE7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewor
ICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBm
bkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE1LTgtMTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtMi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE1LTgtMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LTIuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNDYgKzEsNDYgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
Uw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0K
LS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
ew0KLWlkOiAiMTUuNC40LjE1LTgtMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXgo
TnVtYmVyKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgb2JqID0g
e3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIDB9fTsNCi0gIHZhciBvbmUgPSAxOw0KLSAgdmFy
IF9mbG9hdCA9IC0oNC8zKTsNCi0gIHZhciBhID0gbmV3IEFycmF5KCswLHRydWUsMCwtMCwgZmFs
c2UsdW5kZWZpbmVkLG51bGwsIjAiLG9iaiwgX2Zsb2F0LC0oNC8zKSwtMS4zMzMzMzMzMzMzMzMz
LCJzdHIiLG9uZSwgMSwgZmFsc2UpOw0KLSAgaWYgKGEubGFzdEluZGV4T2YoLSg0LzMpKSA9PT0g
MTAgJiYgICAgICAvLyBhWzEwXT0tKDQvMykNCi0gICAgICBhLmxhc3RJbmRleE9mKDApID09PSAz
ICAgICAgICYmICAgICAgIC8vIGFbM10gPSAtMCwgYnV0IHVzaW5nID09PSAtMCBhbmQgMCBhcmUg
ZXF1YWwNCi0gICAgICBhLmxhc3RJbmRleE9mKC0wKSA9PT0zICAgICAgICYmICAgICAgLy8gYVsz
XSA9IC0wDQotICAgICAgYS5sYXN0SW5kZXhPZigxKSA9PT0gMTQgKSAgICAgICAgICAgIC8vIGFb
MTRdID0gMQ0KLSAgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90
b3R5cGUubGFzdEluZGV4T2YpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisv
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQu
NC4xNS04LTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40
LjQuMTUvMTUuNC40LjE1LTgtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBl
Lmxhc3RJbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXgoTnVtYmVyKSIsCisKK3Rlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7
cmV0dXJuIDB9fTsKKyAgdmFyIG9uZSA9IDE7CisgIHZhciBfZmxvYXQgPSAtKDQvMyk7CisgIHZh
ciBhID0gbmV3IEFycmF5KCswLHRydWUsMCwtMCwgZmFsc2UsdW5kZWZpbmVkLG51bGwsIjAiLG9i
aiwgX2Zsb2F0LC0oNC8zKSwtMS4zMzMzMzMzMzMzMzMzLCJzdHIiLG9uZSwgMSwgZmFsc2UpOwor
ICBpZiAoYS5sYXN0SW5kZXhPZigtKDQvMykpID09PSAxMCAmJiAgICAgIC8vIGFbMTBdPS0oNC8z
KQorICAgICAgYS5sYXN0SW5kZXhPZigwKSA9PT0gMyAgICAgICAmJiAgICAgICAvLyBhWzNdID0g
LTAsIGJ1dCB1c2luZyA9PT0gLTAgYW5kIDAgYXJlIGVxdWFsCisgICAgICBhLmxhc3RJbmRleE9m
KC0wKSA9PT0zICAgICAgICYmICAgICAgLy8gYVszXSA9IC0wCisgICAgICBhLmxhc3RJbmRleE9m
KDEpID09PSAxNCApICAgICAgICAgICAgLy8gYVsxNF0gPSAxCisgIHsKKyAgICByZXR1cm4gdHJ1
ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyB9Cit9KTsKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTUtOC0yLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMg
LTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LTMu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNS04LTMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC0zLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQot
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsNCi1pZDogIjE1LjQuNC4xNS04LTMiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC0zLmpzIiwNCi0NCi1kZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGlu
ZGV4KHN0cmluZykiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIG9i
aiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiZmFsc2UifX07DQotICB2YXIgc3pGYWxz
ZSA9ICJmYWxzZSI7DQotICB2YXIgYSA9IG5ldyBBcnJheShzekZhbHNlLCAiZmFsc2UiLCJmYWxz
ZTEiLHVuZGVmaW5lZCwwLGZhbHNlLG51bGwsMSxvYmosMCk7DQotICBpZiAoYS5sYXN0SW5kZXhP
ZigiZmFsc2UiKSA9PT0gMSkgDQotICB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0K
LQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3Rz
KEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsK
K2lkOiAiMTUuNC40LjE1LTgtMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC0zLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJh
eS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleChzdHJpbmcp
IiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBvYmogPSB7dG9TdHJpbmc6
ZnVuY3Rpb24oKXtyZXR1cm4gImZhbHNlIn19OworICB2YXIgc3pGYWxzZSA9ICJmYWxzZSI7Cisg
IHZhciBhID0gbmV3IEFycmF5KHN6RmFsc2UsICJmYWxzZSIsImZhbHNlMSIsdW5kZWZpbmVkLDAs
ZmFsc2UsbnVsbCwxLG9iaiwwKTsKKyAgaWYgKGEubGFzdEluZGV4T2YoImZhbHNlIikgPT09IDEp
IAorICB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5k
ZXhPZik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtMy5qcwpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTUtOC00LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC00LmpzCShyZXZpc2lvbiAx
OTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE1LTgtNC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MyArMSw0MyBAQAotLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYN
Ci0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0K
LUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTUtOC00IiwNCi0NCi1w
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1
LTgtNC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Yg
bXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCh1bmRlZmluZWQpIiwNCi0NCi10ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBvYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4g
dW5kZWZpbmVkO319Ow0KLSAgdmFyIF91bmRlZmluZWQxID0gdW5kZWZpbmVkOw0KLSAgdmFyIF91
bmRlZmluZWQyOw0KLSAgdmFyIGEgPSBuZXcgQXJyYXkoX3VuZGVmaW5lZDEsX3VuZGVmaW5lZDIs
dW5kZWZpbmVkLHRydWUsMCxmYWxzZSxudWxsLDEsInVuZGVmaW5lZCIsb2JqLDEpOw0KLSAgaWYg
KGEubGFzdEluZGV4T2YodW5kZWZpbmVkKSA9PT0gMikgDQotICB7DQotICAgIHJldHVybiB0cnVl
Ow0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAg
cmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotIH0NCi19KTsN
CisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE1LTgtNCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC00LmpzIiwKKworZGVz
Y3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVj
dCBpbmRleCh1bmRlZmluZWQpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZh
ciBvYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdW5kZWZpbmVkO319OworICB2YXIg
X3VuZGVmaW5lZDEgPSB1bmRlZmluZWQ7CisgIHZhciBfdW5kZWZpbmVkMjsKKyAgdmFyIGEgPSBu
ZXcgQXJyYXkoX3VuZGVmaW5lZDEsX3VuZGVmaW5lZDIsdW5kZWZpbmVkLHRydWUsMCxmYWxzZSxu
dWxsLDEsInVuZGVmaW5lZCIsb2JqLDEpOworICBpZiAoYS5sYXN0SW5kZXhPZih1bmRlZmluZWQp
ID09PSAyKSAKKyAgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUu
bGFzdEluZGV4T2YpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LTQuanMKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtNS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtNS5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNS04LTUuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDMgKzEsNDMgQEAK
LS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0v
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAN
Ci0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE1LTgtNSIs
DQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1
LjQuNC4xNS04LTUuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJ
bmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXgoT2JqZWN0KSIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgb2JqMSA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Jl
dHVybiAiZmFsc2UifX07DQotICB2YXIgb2JqMiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVy
biAiZmFsc2UifX07DQotICB2YXIgb2JqMyA9IG9iajE7DQotICB2YXIgYSA9IG5ldyBBcnJheShv
YmoyLG9iajEsb2JqMyxmYWxzZSx1bmRlZmluZWQsMCxmYWxzZSxudWxsLHt0b1N0cmluZzpmdW5j
dGlvbigpe3JldHVybiAiZmFsc2UifX0sImZhbHNlIik7DQotICBpZiAoYS5sYXN0SW5kZXhPZihv
YmozKSA9PT0gMikgDQotICB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5
LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAi
MTUuNC40LjE1LTgtNSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40
LzE1LjQuNC4xNS8xNS40LjQuMTUtOC01LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90
b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleChPYmplY3QpIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBvYmoxID0ge3RvU3RyaW5nOmZ1bmN0
aW9uKCl7cmV0dXJuICJmYWxzZSJ9fTsKKyAgdmFyIG9iajIgPSB7dG9TdHJpbmc6ZnVuY3Rpb24o
KXtyZXR1cm4gImZhbHNlIn19OworICB2YXIgb2JqMyA9IG9iajE7CisgIHZhciBhID0gbmV3IEFy
cmF5KG9iajIsb2JqMSxvYmozLGZhbHNlLHVuZGVmaW5lZCwwLGZhbHNlLG51bGwse3RvU3RyaW5n
OmZ1bmN0aW9uKCl7cmV0dXJuICJmYWxzZSJ9fSwiZmFsc2UiKTsKKyAgaWYgKGEubGFzdEluZGV4
T2Yob2JqMykgPT09IDIpIAorICB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnBy
b3RvdHlwZS5sYXN0SW5kZXhPZik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtNS5q
cwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC02LmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC02
LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtNi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiAr
MSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQot
Ly8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
DQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8N
Ci0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8v
IA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQu
MTUtOC02IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40
LjQuMTUvMTUuNC40LjE1LTgtNi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5
cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleChudWxsKSIsDQotDQotdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9u
KCl7cmV0dXJuIG51bGx9fTsNCi0gIHZhciBfbnVsbCA9IG51bGw7DQotICB2YXIgYSA9IG5ldyBB
cnJheSh0cnVlLHVuZGVmaW5lZCwwLGZhbHNlLG51bGwsMSwic3RyIiwwLDEsbnVsbCx0cnVlLGZh
bHNlLHVuZGVmaW5lZCxfbnVsbCwibnVsbCIsdW5kZWZpbmVkLCJzdHIiLG9iaik7DQotICBpZiAo
YS5sYXN0SW5kZXhPZihudWxsKSA9PT0gMTMgKSANCi0gIHsNCi0gICAgcmV0dXJuIHRydWU7DQot
ICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0gfQ0KLX0pOw0KKy8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTUtOC02IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTYuanMiLAorCitkZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGlu
ZGV4KG51bGwpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBvYmogPSB7
dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH19OworICB2YXIgX251bGwgPSBudWxsOwor
ICB2YXIgYSA9IG5ldyBBcnJheSh0cnVlLHVuZGVmaW5lZCwwLGZhbHNlLG51bGwsMSwic3RyIiww
LDEsbnVsbCx0cnVlLGZhbHNlLHVuZGVmaW5lZCxfbnVsbCwibnVsbCIsdW5kZWZpbmVkLCJzdHIi
LG9iaik7CisgIGlmIChhLmxhc3RJbmRleE9mKG51bGwpID09PSAxMyApIAorICB7CisgICAgcmV0
dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsK
KyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CisgfQorfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtNi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTUtOC03LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC03LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtNy5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTUtOC03IiwNCi0NCi1wYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtNy5qcyIsDQotDQot
ZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29y
cmVjdCBpbmRleCAoc2VsZiByZWZlcmVuY2UpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsNCi0gIHZhciBhID0gbmV3IEFycmF5KDAsMSwyLDMpOyAgDQotICBhWzJdID0gYTsNCi0g
IGlmIChhLmxhc3RJbmRleE9mKGEpID09PSAyICYmICANCi0gICAgICBhLmxhc3RJbmRleE9mKDMp
ID09PSAzICkgDQotICB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnBy
b3RvdHlwZS5sYXN0SW5kZXhPZik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MK
Ky8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUu
NC40LjE1LTgtNyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1
LjQuNC4xNS8xNS40LjQuMTUtOC03LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5
cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCAoc2VsZiByZWZlcmVuY2Up
IiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBhID0gbmV3IEFycmF5KDAs
MSwyLDMpOyAgCisgIGFbMl0gPSBhOworICBpZiAoYS5sYXN0SW5kZXhPZihhKSA9PT0gMiAmJiAg
CisgICAgICBhLmxhc3RJbmRleE9mKDMpID09PSAzICkgCisgIHsKKyAgICByZXR1cm4gdHJ1ZTsK
KyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4g
Zm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyB9Cit9KTsKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTUtOC03LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LTguanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNS04LTguanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC04LmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
Ci0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsNCi1pZDogIjE1LjQuNC4xNS04LTgiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC04LmpzIiwNCi0NCi1kZXNjcmlwdGlv
bjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4
IChBcnJheSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGIgPSBu
ZXcgQXJyYXkoIjAsMSIpOyAgDQotICB2YXIgYSA9IG5ldyBBcnJheSgwLGIsIjAsMSIsMyk7ICAN
Ci0gIGlmIChhLmxhc3RJbmRleE9mKGIudG9TdHJpbmcoKSkgPT09IDIgJiYgIA0KLSAgICAgIGEu
bGFzdEluZGV4T2YoIjAsMSIpID09PSAyICkgDQotICB7DQotICAgIHJldHVybiB0cnVlOw0KLSAg
fQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJu
IGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotIH0NCi19KTsNCisvLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsKK2lkOiAiMTUuNC40LjE1LTgtOCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC04LmpzIiwKKworZGVzY3JpcHRp
b246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRl
eCAoQXJyYXkpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBiID0gbmV3
IEFycmF5KCIwLDEiKTsgIAorICB2YXIgYSA9IG5ldyBBcnJheSgwLGIsIjAsMSIsMyk7ICAKKyAg
aWYgKGEubGFzdEluZGV4T2YoYi50b1N0cmluZygpKSA9PT0gMiAmJiAgCisgICAgICBhLmxhc3RJ
bmRleE9mKCIwLDEiKSA9PT0gMiApIAorICB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAor
CitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFy
cmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1
LTgtOC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xG
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC05LmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTUtOC05LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtOS5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSw1MCArMSw1MCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIx
NS40LjQuMTUtOC05IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQu
NC8xNS40LjQuMTUvMTUuNC40LjE1LTgtOS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCAoU3BhcnNlIEFy
cmF5KSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgYSA9IG5ldyBB
cnJheSgwLDEpOyAgDQotICBhWzQyOTQ5NjcyOTRdID0gMjsgICAgICAgICAgLy8gMl4zMi0yIC0g
aXMgbWF4IGFycmF5IGVsZW1lbnQgaW5kZXgNCi0gIGFbNDI5NDk2NzI5NV0gPSAzOyAgICAgICAg
ICAvLyAyXjMyLTEgYWRkZWQgYXMgbm9uLWFycmF5IGVsZW1lbnQgcHJvcGVydHkNCi0gIGFbNDI5
NDk2NzI5Nl0gPSA0OyAgICAgICAgICAvLyAyXjMyICAgYWRkZWQgYXMgbm9uLWFycmF5IGVsZW1l
bnQgcHJvcGVydHkNCi0gIGFbNDI5NDk2NzI5N10gPSA1OyAgICAgICAgICAvLyAyXjMyKzEgYWRk
ZWQgYXMgbm9uLWFycmF5IGVsZW1lbnQgcHJvcGVydHkNCi0gIC8vIHN0b3Agc2VhcmNoaW5nIG5l
YXIgdGhlIGVuZCBpbiBjYXNlIGltcGxlbWVudGF0aW9uIGFjdHVhbGx5IHRyaWVzIHRvIHRlc3Qg
YWxsIG1pc3NpbmcgZWxlbWVudHMhIQ0KLSAgYVs0Mjk0OTY3MjAwXSA9IDM7ICAgICAgICAgIA0K
LSAgYVs0Mjk0OTY3MjAxXSA9IDQ7ICAgICAgICAgDQotICBhWzQyOTQ5NjcyMDJdID0gNTsgICAg
ICAgICANCi0NCi0NCi0gIHJldHVybiAoYS5sYXN0SW5kZXhPZigyKSA9PT0gNDI5NDk2NzI5NCAm
JiAgICANCi0gICAgICBhLmxhc3RJbmRleE9mKDMpID09PSA0Mjk0OTY3MjAwICYmDQotICAgICAg
YS5sYXN0SW5kZXhPZig0KSA9PT0gNDI5NDk2NzIwMSAmJg0KLSAgICAgIGEubGFzdEluZGV4T2Yo
NSkgPT09IDQyOTQ5NjcyMDIpIDsNCi0gICB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhP
Zik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8K
Ky8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAK
Ky8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisK
KworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE1LTgtOSIsCisKK3Bh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUt
OC05LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVz
dCByZXR1cm4gY29ycmVjdCBpbmRleCAoU3BhcnNlIEFycmF5KSIsCisKK3Rlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworICB2YXIgYSA9IG5ldyBBcnJheSgwLDEpOyAgCisgIGFbNDI5NDk2NzI5
NF0gPSAyOyAgICAgICAgICAvLyAyXjMyLTIgLSBpcyBtYXggYXJyYXkgZWxlbWVudCBpbmRleAor
ICBhWzQyOTQ5NjcyOTVdID0gMzsgICAgICAgICAgLy8gMl4zMi0xIGFkZGVkIGFzIG5vbi1hcnJh
eSBlbGVtZW50IHByb3BlcnR5CisgIGFbNDI5NDk2NzI5Nl0gPSA0OyAgICAgICAgICAvLyAyXjMy
ICAgYWRkZWQgYXMgbm9uLWFycmF5IGVsZW1lbnQgcHJvcGVydHkKKyAgYVs0Mjk0OTY3Mjk3XSA9
IDU7ICAgICAgICAgIC8vIDJeMzIrMSBhZGRlZCBhcyBub24tYXJyYXkgZWxlbWVudCBwcm9wZXJ0
eQorICAvLyBzdG9wIHNlYXJjaGluZyBuZWFyIHRoZSBlbmQgaW4gY2FzZSBpbXBsZW1lbnRhdGlv
biBhY3R1YWxseSB0cmllcyB0byB0ZXN0IGFsbCBtaXNzaW5nIGVsZW1lbnRzISEKKyAgYVs0Mjk0
OTY3MjAwXSA9IDM7ICAgICAgICAgIAorICBhWzQyOTQ5NjcyMDFdID0gNDsgICAgICAgICAKKyAg
YVs0Mjk0OTY3MjAyXSA9IDU7ICAgICAgICAgCisKKworICByZXR1cm4gKGEubGFzdEluZGV4T2Yo
MikgPT09IDQyOTQ5NjcyOTQgJiYgICAgCisgICAgICBhLmxhc3RJbmRleE9mKDMpID09PSA0Mjk0
OTY3MjAwICYmCisgICAgICBhLmxhc3RJbmRleE9mKDQpID09PSA0Mjk0OTY3MjAxICYmCisgICAg
ICBhLmxhc3RJbmRleE9mKDUpID09PSA0Mjk0OTY3MjAyKSA7CisgICB9LAorCitwcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlw
ZS5sYXN0SW5kZXhPZik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtOS5qcwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1hLTEuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWEtMS5q
cwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWEtMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0OSAr
MSw0OSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQot
Ly8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
DQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8N
Ci0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8v
IA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDogIjE1
LjQuNC4xNS04LWEtMSIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1hLTEuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlv
bjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHRlc3QgdGhhdCBhZGRlZCBwcm9wZXJ0
aWVzIG9mIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlIiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgYXJyID0geyB9Ow0KLQ0KLSAgICAgICAgT2Jq
ZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCi0gICAgICAgICAgICBnZXQ6IGZ1
bmN0aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgYXJyWzJdID0gImxlbmd0aCI7DQotICAgICAg
ICAgICAgICAgIHJldHVybiAzOw0KLSAgICAgICAgICAgIH0sDQotICAgICAgICAgICAgY29uZmln
dXJhYmxlOiB0cnVlDQotICAgICAgICB9KTsNCi0NCi0gICAgICAgIHJldHVybiAyID09PSBBcnJh
eS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcnIsICJsZW5ndGgiKTsNCi0gICAgfSwNCi0N
Ci0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4g
Zm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3Qu
ZGVmaW5lUHJvcGVydHkpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
CisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6
ICIxNS40LjQuMTUtOC1hLTEiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMS5qcyIsCisKKyAgICBkZXNjcmlwdGlv
bjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHRlc3QgdGhhdCBhZGRlZCBwcm9wZXJ0
aWVzIG9mIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeworCisgICAgICAgIHZhciBhcnIgPSB7IH07CisKKyAgICAgICAgT2JqZWN0LmRl
ZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsKKyAgICAgICAgICAgIGdldDogZnVuY3Rpb24g
KCkgeworICAgICAgICAgICAgICAgIGFyclsyXSA9ICJsZW5ndGgiOworICAgICAgICAgICAgICAg
IHJldHVybiAzOworICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1
ZQorICAgICAgICB9KTsKKworICAgICAgICByZXR1cm4gMiA9PT0gQXJyYXkucHJvdG90eXBlLmxh
c3RJbmRleE9mLmNhbGwoYXJyLCAibGVuZ3RoIik7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJv
dG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOwor
ICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYS0xLmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNS04LWEtMTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWEtMTEuanMJKHJldmlz
aW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTUtOC1hLTExLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU2ICsxLDU2IEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4N
Ci0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE1
LTgtYS0xMSIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40
LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1hLTExLmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJB
cnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB0ZXN0IHRoYXQgZGVsZXRpbmcgb3duIHByb3Bl
cnR5IGNhdXNlcyBpdCBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIs
DQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgdmFyIGFy
ciA9IHsgbGVuZ3RoOiAyMDAgfTsNCi0NCi0gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShh
cnIsICIxIiwgew0KLSAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KLSAgICAgICAgICAg
ICAgICByZXR1cm4gNi45OTsNCi0gICAgICAgICAgICB9LA0KLSAgICAgICAgICAgIGNvbmZpZ3Vy
YWJsZTogdHJ1ZQ0KLSAgICAgICAgfSk7DQotDQotICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVy
dHkoYXJyLCAiMTAwIiwgew0KLSAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KLSAgICAg
ICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KLSAgICAgICAgICAgICAgICByZXR1cm4gMDsNCi0g
ICAgICAgICAgICB9LA0KLSAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KLSAgICAgICAg
fSk7DQotDQotICAgICAgICByZXR1cm4gLTEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhP
Zi5jYWxsKGFyciwgNi45OSk7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5s
YXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsNCi0gICAgfQ0K
LQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAor
Ly8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQK
Ky8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgor
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK0VTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KHsKKworICAgIGlkOiAiMTUuNC40LjE1LTgtYS0xMSIsCisKKyAg
ICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40
LjE1LTgtYS0xMS5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0
SW5kZXhPZiAtIHRlc3QgdGhhdCBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGl0IG5vdCB0
byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKKworICAgIHRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHZhciBhcnIgPSB7IGxlbmd0aDogMjAwIH07CisK
KyAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7CisgICAgICAgICAgICBn
ZXQ6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsKKyAgICAgICAg
ICAgIH0sCisgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKKyAgICAgICAgfSk7CisKKyAg
ICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEwMCIsIHsKKyAgICAgICAgICAgIGdl
dDogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07CisgICAgICAg
ICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgY29uZmlndXJh
YmxlOiB0cnVlCisgICAgICAgIH0pOworCisgICAgICAgIHJldHVybiAtMSA9PT0gQXJyYXkucHJv
dG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJyLCA2Ljk5KTsKKyAgICB9LAorCisgICAgcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJh
eS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0
eSk7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1hLTExLmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWEtMTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWEtMTIuanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1hLTEyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU2ICsx
LDU2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0v
Ly8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQN
Ci0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0K
LS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8g
DQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUu
NC40LjE1LTgtYS0xMiIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1hLTEyLmpzIiwNCi0NCi0gICAgZGVzY3JpcHRp
b246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB0ZXN0IHRoYXQgZGVsZXRpbmcgb3du
IHByb3BlcnR5IGNhdXNlcyBpdCBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheSIsDQotDQot
ICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgdmFyIGFyciA9IFsx
LCAyLCAzLCA0XTsNCi0NCi0gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwg
ew0KLSAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KLSAgICAgICAgICAgICAgICByZXR1
cm4gIjYuOTkiOw0KLSAgICAgICAgICAgIH0sDQotICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0
cnVlDQotICAgICAgICB9KTsNCi0NCi0gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIs
ICIzIiwgew0KLSAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KLSAgICAgICAgICAgICAg
ICBkZWxldGUgYXJyWzFdOw0KLSAgICAgICAgICAgICAgICByZXR1cm4gMDsNCi0gICAgICAgICAg
ICB9LA0KLSAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KLSAgICAgICAgfSk7DQotDQot
ICAgICAgICByZXR1cm4gLTEgPT09IGFyci5sYXN0SW5kZXhPZigiNi45OSIpOw0KLSAgICB9LA0K
LQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVy
biBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVj
dC5kZWZpbmVQcm9wZXJ0eSk7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBp
ZDogIjE1LjQuNC4xNS04LWEtMTIiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTIuanMiLAorCisgICAgZGVzY3Jp
cHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB0ZXN0IHRoYXQgZGVsZXRpbmcg
b3duIHByb3BlcnR5IGNhdXNlcyBpdCBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheSIsCisK
KyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIgYXJyID0gWzEs
IDIsIDMsIDRdOworCisgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgewor
ICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuICI2
Ljk5IjsKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKKyAg
ICAgICAgfSk7CisKKyAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjMiLCB7Cisg
ICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICBkZWxldGUgYXJy
WzFdOworICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgfSwKKyAgICAgICAg
ICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQorICAgICAgICB9KTsKKworICAgICAgICByZXR1cm4gLTEg
PT09IGFyci5sYXN0SW5kZXhPZigiNi45OSIpOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3Rv
dHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKKyAg
ICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWEtMTIuanMKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE1LTgtYS0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1hLTIuanMJKHJldmlzaW9u
IDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTUtOC1hLTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDkgKzEsNDkgQEAKLS8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0K
LQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtOC1h
LTIiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40
LjQuMTUvMTUuNC40LjE1LTgtYS0yLmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUubGFzdEluZGV4T2YgLSB0ZXN0IHRoYXQgYWRkZWQgcHJvcGVydGllcyBvZiBzdGVw
IDUgYXJlIHZpc2libGUgaGVyZSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsDQotDQotICAgIHRl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3Ro
OiAzMCB9Ow0KLSAgICAgICAgdmFyIHRhcmdldE9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCi0NCi0g
ICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQotICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24g
KCkgew0KLSAgICAgICAgICAgICAgICBhcnJbNF0gPSB0YXJnZXRPYmo7DQotICAgICAgICAgICAg
ICAgIHJldHVybiAxMDsNCi0gICAgICAgICAgICB9DQotICAgICAgICB9Ow0KLSAgICAgICAgDQot
ICAgICAgICByZXR1cm4gNCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJy
LCB0YXJnZXRPYmosIGZyb21JbmRleCk7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3Rv
dHlwZS5sYXN0SW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBp
ZDogIjE1LjQuNC4xNS04LWEtMiIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS0yLmpzIiwKKworICAgIGRlc2NyaXB0
aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdGVzdCB0aGF0IGFkZGVkIHByb3Bl
cnRpZXMgb2Ygc3RlcCA1IGFyZSB2aXNpYmxlIGhlcmUgb24gYW4gQXJyYXktbGlrZSBvYmplY3Qi
LAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgdmFyIGFyciA9
IHsgbGVuZ3RoOiAzMCB9OworICAgICAgICB2YXIgdGFyZ2V0T2JqID0gZnVuY3Rpb24gKCkgeyB9
OworCisgICAgICAgIHZhciBmcm9tSW5kZXggPSB7CisgICAgICAgICAgICB2YWx1ZU9mOiBmdW5j
dGlvbiAoKSB7CisgICAgICAgICAgICAgICAgYXJyWzRdID0gdGFyZ2V0T2JqOworICAgICAgICAg
ICAgICAgIHJldHVybiAxMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAgCisg
ICAgICAgIHJldHVybiA0ID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcnIs
IHRhcmdldE9iaiwgZnJvbUluZGV4KTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUu
bGFzdEluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYS0yLmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWEtMy5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgt
YS0zLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYS0zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDUwICsxLDUwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4N
Ci0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlk
OiAiMTUuNC40LjE1LTgtYS0zIiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMy5qcyIsDQotDQotICAgIGRlc2Ny
aXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdGVzdCB0aGF0IGFkZGVkIHBy
b3BlcnRpZXMgb2Ygc3RlcCA1IGFyZSB2aXNpYmxlIGhlcmUgb24gYW4gQXJyYXkiLA0KLQ0KLSAg
ICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciBhcnIgPSBbXTsN
Ci0gICAgICAgIGFyci5sZW5ndGggPSAzMDsNCi0gICAgICAgIHZhciB0YXJnZXRPYmogPSBmdW5j
dGlvbiAoKSB7IH07DQotDQotICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KLSAgICAgICAgICAg
IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgYXJyWzRdID0gdGFyZ2V0
T2JqOw0KLSAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQotICAgICAgICAgICAgfQ0KLSAgICAg
ICAgfTsNCi0NCi0gICAgICAgIHJldHVybiA0ID09PSBhcnIubGFzdEluZGV4T2YodGFyZ2V0T2Jq
LCBmcm9tSW5kZXgpOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdElu
ZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoeworCisgICAgaWQ6ICIxNS40LjQu
MTUtOC1hLTMiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQv
MTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMy5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHRlc3QgdGhhdCBhZGRlZCBwcm9wZXJ0aWVzIG9mIHN0
ZXAgNSBhcmUgdmlzaWJsZSBoZXJlIG9uIGFuIEFycmF5IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworCisgICAgICAgIHZhciBhcnIgPSBbXTsKKyAgICAgICAgYXJyLmxlbmd0
aCA9IDMwOworICAgICAgICB2YXIgdGFyZ2V0T2JqID0gZnVuY3Rpb24gKCkgeyB9OworCisgICAg
ICAgIHZhciBmcm9tSW5kZXggPSB7CisgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7
CisgICAgICAgICAgICAgICAgYXJyWzRdID0gdGFyZ2V0T2JqOworICAgICAgICAgICAgICAgIHJl
dHVybiAxMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKworICAgICAgICByZXR1cm4gNCA9
PT0gYXJyLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgZnJvbUluZGV4KTsKKyAgICB9LAorCisgICAg
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0
cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE1LTgtYS0zLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWEtNC5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE1LTgtYS00LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYS00LmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDQ5ICsxLDQ5IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
DQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE1LTgtYS00IiwNCi0NCi0gICAgcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtNC5q
cyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0g
dGVzdCB0aGF0IGRlbGV0ZWQgcHJvcGVydGllcyBvZiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZSIs
DQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgdmFyIGFy
ciA9IHsgMjogNi45OSB9Ow0KLQ0KLSAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwg
Imxlbmd0aCIsIHsNCi0gICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCi0gICAgICAgICAg
ICAgICAgZGVsZXRlIGFyclsyXTsNCi0gICAgICAgICAgICAgICAgcmV0dXJuIDM7DQotICAgICAg
ICAgICAgfSwNCi0gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCi0gICAgICAgIH0pOw0K
LQ0KLSAgICAgICAgcmV0dXJuIC0xID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2Fs
bChhcnIsIDYuOTkpOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdElu
ZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7DQotICAgIH0NCi0NCi19
KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAK
Ky8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNS04LWEtNCIsCisKKyAgICBwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgt
YS00LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9m
IC0gdGVzdCB0aGF0IGRlbGV0ZWQgcHJvcGVydGllcyBvZiBzdGVwIDIgYXJlIHZpc2libGUgaGVy
ZSIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIgYXJy
ID0geyAyOiA2Ljk5IH07CisKKyAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxl
bmd0aCIsIHsKKyAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAg
IGRlbGV0ZSBhcnJbMl07CisgICAgICAgICAgICAgICAgcmV0dXJuIDM7CisgICAgICAgICAgICB9
LAorICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCisgICAgICAgIH0pOworCisgICAgICAg
IHJldHVybiAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJyLCA2Ljk5
KTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAg
ICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhp
c3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTUtOC1hLTQuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsx
ICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYS01LmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTUtOC1hLTUuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1hLTUuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDggKzEsNDggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtOC1hLTUiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS01LmpzIiwN
Ci0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB0ZXN0
IHRoYXQgZGVsZXRlZCBwcm9wZXJ0aWVzIG9mIHN0ZXAgNSBhcmUgdmlzaWJsZSBoZXJlIG9uIGFu
IEFycmF5LWxpa2Ugb2JqZWN0IiwNCi0NCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
DQotDQotICAgICAgICB2YXIgYXJyID0geyAxMDogZmFsc2UsIGxlbmd0aDogMzAgfTsNCi0NCi0g
ICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQotICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24g
KCkgew0KLSAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzEwXTsNCi0gICAgICAgICAgICAgICAg
cmV0dXJuIDE1Ow0KLSAgICAgICAgICAgIH0NCi0gICAgICAgIH07DQotDQotICAgICAgICByZXR1
cm4gLTEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyciwgZmFsc2UsIGZy
b21JbmRleCk7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhP
Zik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNS04
LWEtNSIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40
LjQuMTUvMTUuNC40LjE1LTgtYS01LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmxhc3RJbmRleE9mIC0gdGVzdCB0aGF0IGRlbGV0ZWQgcHJvcGVydGllcyBvZiBzdGVw
IDUgYXJlIHZpc2libGUgaGVyZSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCisKKyAgICB0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIgYXJyID0geyAxMDogZmFsc2Us
IGxlbmd0aDogMzAgfTsKKworICAgICAgICB2YXIgZnJvbUluZGV4ID0geworICAgICAgICAgICAg
dmFsdWVPZjogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMTBdOwor
ICAgICAgICAgICAgICAgIHJldHVybiAxNTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKwor
ICAgICAgICByZXR1cm4gLTEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFy
ciwgZmFsc2UsIGZyb21JbmRleCk7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxh
c3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWEtNS5qcwpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1hLTYuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWEt
Ni5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWEtNi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1
MCArMSw1MCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
DQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQot
Ly8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qoew0KLQ0KLSAgICBpZDog
IjE1LjQuNC4xNS04LWEtNiIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1hLTYuanMiLA0KLQ0KLSAgICBkZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHRlc3QgdGhhdCBkZWxldGVkIHBy
b3BlcnRpZXMgb2Ygc3RlcCA1IGFyZSB2aXNpYmxlIGhlcmUgb24gYW4gQXJyYXkiLA0KLQ0KLSAg
ICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciBhcnIgPSBbXTsN
Ci0gICAgICAgIGFyclsxMF0gPSAiMTAiOw0KLSAgICAgICAgYXJyLmxlbmd0aCA9IDIwOw0KLQ0K
LSAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCi0gICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlv
biAoKSB7DQotICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMTBdOw0KLSAgICAgICAgICAgICAg
ICByZXR1cm4gMTE7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgfTsNCi0NCi0gICAgICAgIHJl
dHVybiAtMSA9PT0gYXJyLmxhc3RJbmRleE9mKCIxMCIsIGZyb21JbmRleCk7DQotICAgIH0sDQot
DQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJu
IGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsN
CisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNS04LWEtNiIsCisKKyAgICBwYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS02
LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0g
dGVzdCB0aGF0IGRlbGV0ZWQgcHJvcGVydGllcyBvZiBzdGVwIDUgYXJlIHZpc2libGUgaGVyZSBv
biBhbiBBcnJheSIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAg
ICB2YXIgYXJyID0gW107CisgICAgICAgIGFyclsxMF0gPSAiMTAiOworICAgICAgICBhcnIubGVu
Z3RoID0gMjA7CisKKyAgICAgICAgdmFyIGZyb21JbmRleCA9IHsKKyAgICAgICAgICAgIHZhbHVl
T2Y6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzEwXTsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gMTE7CisgICAgICAgICAgICB9CisgICAgICAgIH07CisKKyAgICAg
ICAgcmV0dXJuIC0xID09PSBhcnIubGFzdEluZGV4T2YoIjEwIiwgZnJvbUluZGV4KTsKKyAgICB9
LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVy
biBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOworICAgIH0KKworfSk7CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE1LTgtYS02LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NS04LWItMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYi0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgt
Yi0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5IEBACi0vLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0K
LS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
Uw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtOC1iLTEiLA0KLQ0KLSAg
ICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40
LjE1LTgtYi0xLmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFz
dEluZGV4T2YgLSB1bmRlZmluZWQgcHJvcGVydHkgd291bGRuJ3QgYmUgY2FsbGVkIiwNCi0NCi0g
ICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICByZXR1cm4gWzAsICwg
Ml0ubGFzdEluZGV4T2YodW5kZWZpbmVkKSA9PT0gLTE7DQotICAgIH0sDQotDQotICAgIHByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFy
cmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKKworICAgIGlkOiAiMTUuNC40LjE1LTgtYi0xIiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLTEuanMiLAorCisg
ICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB1bmRlZmluZWQg
cHJvcGVydHkgd291bGRuJ3QgYmUgY2FsbGVkIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgeworCisgICAgICAgIHJldHVybiBbMCwgLCAyXS5sYXN0SW5kZXhPZih1bmRlZmluZWQp
ID09PSAtMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwor
ICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYi0xLmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNS04LWItaS0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1iLWktMS5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNS04LWItaS0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQzICsxLDQz
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi0NCi0gICAgaWQ6ICIxNS40
LjQuMTUtOC1iLWktMSIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLWktMS5qcyIsDQotDQotICAgIGRlc2NyaXB0
aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gZWxlbWVudCB0byBiZSByZXRy
aWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLA0KLQ0K
LSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciBvYmogPSB7
IDA6IDAsIDE6IDEsIDI6IDIsIGxlbmd0aDogMyB9Ow0KLQ0KLSAgICAgICAgcmV0dXJuIEFycmF5
LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMCkgPT09IDAgJiYNCi0gICAgICAgICAg
ICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDEpID09PSAxICYmDQotICAg
ICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAyKSA9PT0gMjsN
Ci0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAg
ICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0gICAg
fQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworCisgICAgaWQ6ICIxNS40LjQuMTUtOC1iLWktMSIs
CisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUv
MTUuNC40LjE1LTgtYi1pLTEuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5
cGUubGFzdEluZGV4T2Ygd2hlbiBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBw
cm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAxOiAxLCAyOiAyLCBsZW5n
dGg6IDMgfTsKKworICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNh
bGwob2JqLCAwKSA9PT0gMCAmJgorICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRl
eE9mLmNhbGwob2JqLCAxKSA9PT0gMSAmJgorICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxh
c3RJbmRleE9mLmNhbGwob2JqLCAyKSA9PT0gMjsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90
b3R5cGUubGFzdEluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgt
Yi1pLTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitM
RgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYi1pLTIuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNS04LWItaS0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYi1pLTIuanMJKHdvcmtp
bmcgY29weSkKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1iLWktMi5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTUtOC1iLWktMjQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWItaS0yNC5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNS04LWItaS0yNC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1MyArMSw1
MyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8v
IA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQot
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0v
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0K
LS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotDQotICAgIGlkOiAiMTUu
NC40LjE1LTgtYi1pLTI0IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yNC5qcyIsDQotDQotICAgIGRlc2Ny
aXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gdG8gYmUgdmlzaXRlZCBp
cyB0aGUgZG9jdW1lbnQgaG9zdCBvYmplY3QiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCi0gICAgICAgIHRyeSB7
DQotICAgICAgICAgICAgZG9jdW1lbnRbMF0gPSB0YXJnZXRPYmo7DQotICAgICAgICAgICAgZG9j
dW1lbnRbMTAwXSA9ICIxMDAiOw0KLSAgICAgICAgICAgIGRvY3VtZW50WzIwMF0gPSAiMjAwIjsN
Ci0gICAgICAgICAgICBkb2N1bWVudC5sZW5ndGggPSAyMDA7DQotICAgICAgICAgICAgcmV0dXJu
IDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGRvY3VtZW50LCB0YXJnZXRP
YmopICYmDQotICAgICAgICAgICAgICAgIDEwMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRl
eE9mLmNhbGwoZG9jdW1lbnQsICIxMDAiKSAmJg0KLSAgICAgICAgICAgICAgICAtMSA9PT0gQXJy
YXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoZG9jdW1lbnQsICIyMDAiKTsNCi0gICAgICAg
IH0gZmluYWxseSB7DQotICAgICAgICAgICAgZGVsZXRlIGRvY3VtZW50WzBdOw0KLSAgICAgICAg
ICAgIGRlbGV0ZSBkb2N1bWVudFsxMDBdOw0KLSAgICAgICAgICAgIGRlbGV0ZSBkb2N1bWVudFsy
MDBdOw0KLSAgICAgICAgICAgIGRlbGV0ZSBkb2N1bWVudC5sZW5ndGg7DQotICAgICAgICB9DQot
ICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAg
ICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotICAgIH0N
Ci0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAK
Ky8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
CisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYK
Ky8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKKworICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTI0IiwK
KworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8x
NS40LjQuMTUtOC1iLWktMjQuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5
cGUubGFzdEluZGV4T2Ygd2hlbiB0byBiZSB2aXNpdGVkIGlzIHRoZSBkb2N1bWVudCBob3N0IG9i
amVjdCIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICB2YXIg
dGFyZ2V0T2JqID0ge307CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBkb2N1bWVudFswXSA9
IHRhcmdldE9iajsKKyAgICAgICAgICAgIGRvY3VtZW50WzEwMF0gPSAiMTAwIjsKKyAgICAgICAg
ICAgIGRvY3VtZW50WzIwMF0gPSAiMjAwIjsKKyAgICAgICAgICAgIGRvY3VtZW50Lmxlbmd0aCA9
IDIwMDsKKyAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4
T2YuY2FsbChkb2N1bWVudCwgdGFyZ2V0T2JqKSAmJgorICAgICAgICAgICAgICAgIDEwMCA9PT0g
QXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoZG9jdW1lbnQsICIxMDAiKSAmJgorICAg
ICAgICAgICAgICAgIC0xID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChkb2N1
bWVudCwgIjIwMCIpOworICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgZGVsZXRlIGRv
Y3VtZW50WzBdOworICAgICAgICAgICAgZGVsZXRlIGRvY3VtZW50WzEwMF07CisgICAgICAgICAg
ICBkZWxldGUgZG9jdW1lbnRbMjAwXTsKKyAgICAgICAgICAgIGRlbGV0ZSBkb2N1bWVudC5sZW5n
dGg7CisgICAgICAgIH0KKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4
T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYi1pLTI0LmpzCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWItaS0yNS5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYi1p
LTI1LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYi1pLTI1LmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDQ1ICsxLDQ1IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0v
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gDQotDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi0N
Ci0gICAgaWQ6ICIxNS40LjQuMTUtOC1iLWktMjUiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTI1LmpzIiwN
Ci0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGll
ZCB0byBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBn
ZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGxlc3MgdGhhbiBudW1iZXIgb2YgcGFy
YW1ldGVycykiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAg
ICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCi0gICAgICAgICAgICByZXR1cm4gMCA9
PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNb
MF0pICYmDQotICAgICAgICAgICAgICAgIC0xID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4
T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1sxXSk7DQotICAgICAgICB9DQotDQotICAgICAg
ICByZXR1cm4gZnVuYyh0cnVlKTsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
Lmxhc3RJbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwor
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CisKKyAgICBp
ZDogIjE1LjQuNC4xNS04LWItaS0yNSIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTI1LmpzIiwKKworICAgIGRl
c2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gQXJndW1l
bnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAo
bnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBsZXNzIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpIiwK
KworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHZhciBmdW5jID0g
ZnVuY3Rpb24gKGEsIGIpIHsKKyAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5
cGUubGFzdEluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1swXSkgJiYKKyAgICAgICAg
ICAgICAgICAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJndW1lbnRz
LCBhcmd1bWVudHNbMV0pOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIGZ1bmModHJ1ZSk7
CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAg
ICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisK
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWItaS0yNS5qcwpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTUtOC1iLWktMjYuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWItaS0yNi5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNS04LWItaS0yNi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NiArMSw0NiBA
QAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0K
LS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IA0KLQ0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotDQotICAgIGlkOiAiMTUu
NC40LjE1LTgtYi1pLTI2IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yNi5qcyIsDQotDQotICAgIGRlc2Ny
aXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gQXJndW1lbnRz
IG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVt
YmVyIG9mIGFyZ3VtZW50cyBlcXVhbHMgdG8gbnVtYmVyIG9mIHBhcmFtZXRlcnMpIiwNCi0NCi0g
ICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB2YXIgZnVuYyA9IGZ1
bmN0aW9uIChhLCBiKSB7DQotICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlw
ZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzBdKSAmJg0KLSAgICAgICAg
ICAgICAgICAxID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcmd1bWVudHMs
IGFyZ3VtZW50c1sxXSkgJiYNCi0gICAgICAgICAgICAgICAgLTEgPT09IEFycmF5LnByb3RvdHlw
ZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzJdKTsNCi0gICAgICAgIH0N
Ci0NCi0gICAgICAgIHJldHVybiBmdW5jKDAsIHRydWUpOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhB
cnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKKworICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTI2IiwKKworICAgIHBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLWktMjYu
anMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBw
bGllZCB0byBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0
eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGVxdWFscyB0byBudW1iZXIgb2YgcGFy
YW1ldGVycykiLAorCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAg
dmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgeworICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFy
cmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzBdKSAm
JgorICAgICAgICAgICAgICAgIDEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxs
KGFyZ3VtZW50cywgYXJndW1lbnRzWzFdKSAmJgorICAgICAgICAgICAgICAgIC0xID09PSBBcnJh
eS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1syXSk7Cisg
ICAgICAgIH0KKworICAgICAgICByZXR1cm4gZnVuYygwLCB0cnVlKTsKKyAgICB9LAorCisgICAg
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0
cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE1LTgtYi1pLTI2LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMg
LTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWIt
aS0yNy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYi1pLTI3LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgt
Yi1pLTI3LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ2ICsxLDQ2IEBACi0vLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0v
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtOC1iLWktMjci
LA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQu
MTUvMTUuNC40LjE1LTgtYi1pLTI3LmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGlt
cGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRz
IGlzIGdyZWF0ZXIgdGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykiLA0KLQ0KLSAgICB0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEs
IGIpIHsNCi0gICAgICAgICAgICByZXR1cm4gMiA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRl
eE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbMF0pICYmDQotICAgICAgICAgICAgICAgIDMg
PT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRz
WzNdKSAmJg0KLSAgICAgICAgICAgICAgICAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRl
eE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbNF0pOw0KLSAgICAgICAgfQ0KLQ0KLSAgICAg
ICAgcmV0dXJuIGZ1bmMoMCwgYXJndW1lbnRzLCAwLCBPYmplY3QucHJvdG90eXBlKTsNCi0gICAg
fSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICBy
ZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0gICAgfQ0KLQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCisKK0VTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7CisKKyAgICBpZDogIjE1LjQuNC4xNS04LWItaS0yNyIsCisK
KyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUu
NC40LjE1LTgtYi1pLTI3LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBl
Lmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRz
IGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBncmVh
dGVyIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeworCisgICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsKKyAgICAg
ICAgICAgIHJldHVybiAyID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcmd1
bWVudHMsIGFyZ3VtZW50c1swXSkgJiYKKyAgICAgICAgICAgICAgICAzID09PSBBcnJheS5wcm90
b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1szXSkgJiYKKyAgICAg
ICAgICAgICAgICAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJndW1l
bnRzLCBhcmd1bWVudHNbNF0pOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIGZ1bmMoMCwg
YXJndW1lbnRzLCAwLCBPYmplY3QucHJvdG90eXBlKTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5w
cm90b3R5cGUubGFzdEluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1
LTgtYi1pLTI3LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAj
IworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWItaS0zLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTUtOC1iLWktMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWItaS0zLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDQzICsxLDQzIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
DQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtOC1iLWktMyIsDQotDQotICAgIHBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1i
LWktMy5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRl
eE9mIHdoZW4gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhh
dCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkiLA0KLQ0K
LSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gICAgICAgIHRyeSB7DQotICAgICAg
ICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gT2JqZWN0Ow0KLSAgICAgICAgICAgIHJldHVybiBb
T2JqZWN0LnByb3RvdHlwZV0ubGFzdEluZGV4T2YoT2JqZWN0LnByb3RvdHlwZSkgPT09IDA7DQot
ICAgICAgICB9ZmluYWxseSB7DQotICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsw
XTsNCi0gICAgICAgIH0NCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJ
bmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworCisgICAgaWQ6ICIxNS40
LjQuMTUtOC1iLWktMyIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1
LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTMuanMiLAorCisgICAgZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiBlbGVtZW50IHRvIGJlIHJldHJpZXZl
ZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBw
cm9wZXJ0eSBvbiBhbiBBcnJheSIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsK
KyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IE9iamVjdDsK
KyAgICAgICAgICAgIHJldHVybiBbT2JqZWN0LnByb3RvdHlwZV0ubGFzdEluZGV4T2YoT2JqZWN0
LnByb3RvdHlwZSkgPT09IDA7CisgICAgICAgIH1maW5hbGx5IHsKKyAgICAgICAgICAgIGRlbGV0
ZSBBcnJheS5wcm90b3R5cGVbMF07CisgICAgICAgIH0KKyAgICB9LAorCisgICAgcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5w
cm90b3R5cGUubGFzdEluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1
LTgtYi1pLTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYi1pLTQuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNS04LWItaS00LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYi1pLTQuanMJKHdv
cmtpbmcgY29weSkKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1iLWktNC5qcwpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTUtOC1iLWktNS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYi1pLTUuanMJKHJl
dmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTUtOC1iLWktNS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0OCArMSw0
OCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8v
IA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQot
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0v
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0K
LS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotDQotICAgIGlkOiAiMTUu
NC40LjE1LTgtYi1pLTUiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40
LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTUuanMiLA0KLQ0KLSAgICBkZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuIGVsZW1lbnQgdG8gYmUgcmV0
cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBh
Y2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheSIsDQotDQotICAgIHRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgew0KLSAgICAgICAgdHJ5IHsNCi0gICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJv
cGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCi0gICAgICAgICAgICAgICAgZ2V0OiBmdW5j
dGlvbiAoKSB7DQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQotICAgICAgICAg
ICAgICAgIH0sDQotICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KLSAgICAgICAg
ICAgIH0pOw0KLSAgICAgICAgICAgIHJldHVybiAwID09PSBbTnVtYmVyXS5sYXN0SW5kZXhPZihO
dW1iZXIpOw0KLSAgICAgICAgfSBmaW5hbGx5IHsNCi0gICAgICAgICAgICBkZWxldGUgQXJyYXku
cHJvdG90eXBlWzBdOw0KLSAgICAgICAgfQ0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90
b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7DQot
ICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8K
Ky8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAK
Ky8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisK
KworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKKworICAgIGlkOiAiMTUuNC40LjE1LTgtYi1p
LTUiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40
LjE1LzE1LjQuNC4xNS04LWItaS01LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmxhc3RJbmRleE9mIHdoZW4gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRh
dGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5
IG9uIGFuIEFycmF5IiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICAgICAg
ICB0cnkgeworICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlw
ZSwgIjAiLCB7CisgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAg
ICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQorICAgICAgICAgICAgfSk7CisgICAgICAgICAgICByZXR1
cm4gMCA9PT0gW051bWJlcl0ubGFzdEluZGV4T2YoTnVtYmVyKTsKKyAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07CisgICAgICAgIH0KKyAg
ICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJl
dHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9i
amVjdC5kZWZpbmVQcm9wZXJ0eSk7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUt
OC1iLWktNS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMK
K0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1iLWktNi5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE1LTgtYi1pLTYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1iLWktNi5qcwkod29y
a2luZyBjb3B5KQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWItaS02LmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNS04LWItaS03LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1iLWktNy5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNS04LWItaS03LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUwICsxLDUw
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi0NCi0gICAgaWQ6ICIxNS40
LjQuMTUtOC1iLWktNyIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLWktNy5qcyIsDQotDQotICAgIGRlc2NyaXB0
aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gZWxlbWVudCB0byBiZSByZXRy
aWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkiLA0KLQ0KLSAgICB0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHRyeSB7DQotICAgICAgICAg
ICAgQXJyYXkucHJvdG90eXBlWzBdID0gdHJ1ZTsNCi0gICAgICAgICAgICBBcnJheS5wcm90b3R5
cGVbMV0gPSBmYWxzZTsNCi0gICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMl0gPSAidHJ1ZSI7
DQotICAgICAgICAgICAgcmV0dXJuIDAgPT09IFssICwgLCBdLmxhc3RJbmRleE9mKHRydWUpICYm
DQotICAgICAgICAgICAgICAgIDEgPT09IFssICwgLCBdLmxhc3RJbmRleE9mKGZhbHNlKSAmJg0K
LSAgICAgICAgICAgICAgICAyID09PSBbLCAsICwgXS5sYXN0SW5kZXhPZigidHJ1ZSIpOw0KLSAg
ICAgICAgfSBmaW5hbGx5IHsNCi0gICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBd
Ow0KLSAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQotICAgICAgICAgICAg
ZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCi0gICAgICAgIH0NCi0gICAgfSwNCi0NCi0gICAg
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiAhWywgMV0uaGFzT3duUHJvcGVydHko
MCk7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKKworICAgIGlkOiAiMTUuNC40LjE1
LTgtYi1pLTciLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQv
MTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS03LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMg
aW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkiLAorCisgICAgdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIEFycmF5LnByb3Rv
dHlwZVswXSA9IHRydWU7CisgICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSBmYWxzZTsK
KyAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9ICJ0cnVlIjsKKyAgICAgICAgICAgIHJl
dHVybiAwID09PSBbLCAsICwgXS5sYXN0SW5kZXhPZih0cnVlKSAmJgorICAgICAgICAgICAgICAg
IDEgPT09IFssICwgLCBdLmxhc3RJbmRleE9mKGZhbHNlKSAmJgorICAgICAgICAgICAgICAgIDIg
PT09IFssICwgLCBdLmxhc3RJbmRleE9mKCJ0cnVlIik7CisgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOworICAgICAgICAgICAgZGVsZXRl
IEFycmF5LnByb3RvdHlwZVsxXTsKKyAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVb
Ml07CisgICAgICAgIH0KKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4
T2YpICYmICFbLCAxXS5oYXNPd25Qcm9wZXJ0eSgwKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNS04LWItaS03LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMg
LTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWIt
aS04LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1iLWktOC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWIt
aS04LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUwICsxLDUwIEBACi3vu78vLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0v
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0NCi0NCi1FUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTgiLA0KLQ0K
LSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUu
NC40LjE1LTgtYi1pLTguanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlw
ZS5sYXN0SW5kZXhPZiB3aGVuIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBk
YXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwNCi0NCi0gICAgdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICB0cnkgew0KLSAgICAgICAgICAgIE9iamVj
dC5wcm90b3R5cGVbMF0gPSB0cnVlOw0KLSAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0g
PSBmYWxzZTsNCi0gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzJdID0gInRydWUiOw0KLSAg
ICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7
IGxlbmd0aDogMyB9LCB0cnVlKSAmJg0KLSAgICAgICAgICAgICAgICAxID09PSBBcnJheS5wcm90
b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCBmYWxzZSkgJiYNCi0gICAgICAg
ICAgICAgICAgMiA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoeyBsZW5ndGg6
IDMgfSwgInRydWUiKTsNCi0gICAgICAgIH0gZmluYWxseSB7DQotICAgICAgICAgICAgZGVsZXRl
IE9iamVjdC5wcm90b3R5cGVbMF07DQotICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5
cGVbMV07DQotICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMl07DQotICAgICAg
ICB9DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0K
LSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQot
ICAgIH0NCi0NCi19KTsNCivvu78vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8v
LyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7CisKKyAgICBpZDogIjE1LjQuNC4xNS04LWIt
aS04IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQu
NC4xNS8xNS40LjQuMTUtOC1iLWktOC5qcyIsCisKKyAgICBkZXNjcmlwdGlvbjogIkFycmF5LnBy
b3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVy
aXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKKworICAgIHRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBPYmpl
Y3QucHJvdG90eXBlWzBdID0gdHJ1ZTsKKyAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0g
PSBmYWxzZTsKKyAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMl0gPSAidHJ1ZSI7CisgICAg
ICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoeyBs
ZW5ndGg6IDMgfSwgdHJ1ZSkgJiYKKyAgICAgICAgICAgICAgICAxID09PSBBcnJheS5wcm90b3R5
cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCBmYWxzZSkgJiYKKyAgICAgICAgICAg
ICAgICAyID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9
LCAidHJ1ZSIpOworICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgZGVsZXRlIE9iamVj
dC5wcm90b3R5cGVbMF07CisgICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsK
KyAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzJdOworICAgICAgICB9CisgICAg
fSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNS04LWItaS04LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNS04LWItaWktMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYi1paS0xLmpzCShyZXZpc2lvbiAxOTk1
NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE1LTgtYi1paS0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ0ICsxLDQ0IEBACi0vLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
Rg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtOC1i
LWlpLTEiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMTUvMTUuNC40LjE1LTgtYi1paS0xLmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJB
cnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB0eXBlIG9mIGFycmF5IGVsZW1lbnQgaXMgZGlm
ZmVyZW50IGZyb20gdHlwZSBvZiBzZWFyY2ggZWxlbWVudCIsDQotDQotICAgIHRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgcmV0dXJuIFsidHJ1ZSJdLmxhc3RJbmRleE9m
KHRydWUpID09PSAtMSAmJg0KLSAgICAgICAgICAgIFsiMCJdLmxhc3RJbmRleE9mKDApID09PSAt
MSAmJg0KLSAgICAgICAgICAgIFtmYWxzZV0ubGFzdEluZGV4T2YoMCkgPT09IC0xICYmDQotICAg
ICAgICAgICAgW3VuZGVmaW5lZF0ubGFzdEluZGV4T2YoMCkgPT09IC0xICYmDQotICAgICAgICAg
ICAgW251bGxdLmxhc3RJbmRleE9mKDApID09PSAtMSAmJg0KLSAgICAgICAgICAgIFtbXV0ubGFz
dEluZGV4T2YoMCkgPT09IC0xOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUu
bGFzdEluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisv
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CisKKyAgICBpZDog
IjE1LjQuNC4xNS04LWItaWktMSIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1paS0xLmpzIiwKKworICAgIGRlc2Ny
aXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdHlwZSBvZiBhcnJheSBlbGVt
ZW50IGlzIGRpZmZlcmVudCBmcm9tIHR5cGUgb2Ygc2VhcmNoIGVsZW1lbnQiLAorCisgICAgdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgcmV0dXJuIFsidHJ1ZSJdLmxhc3RJ
bmRleE9mKHRydWUpID09PSAtMSAmJgorICAgICAgICAgICAgWyIwIl0ubGFzdEluZGV4T2YoMCkg
PT09IC0xICYmCisgICAgICAgICAgICBbZmFsc2VdLmxhc3RJbmRleE9mKDApID09PSAtMSAmJgor
ICAgICAgICAgICAgW3VuZGVmaW5lZF0ubGFzdEluZGV4T2YoMCkgPT09IC0xICYmCisgICAgICAg
ICAgICBbbnVsbF0ubGFzdEluZGV4T2YoMCkgPT09IC0xICYmCisgICAgICAgICAgICBbW11dLmxh
c3RJbmRleE9mKDApID09PSAtMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFz
dEluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYi1paS0xLmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWItaWktMTAuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NS04LWItaWktMTAuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1iLWlpLTEwLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDM4ICsxLDM4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
Ci0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsNCi0NCi0gICAgaWQ6ICIxNS40LjQuMTUtOC1iLWlpLTEwIiwNCi0NCi0gICAgcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWkt
MTAuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhP
ZiAtIGJvdGggYXJyYXkgZWxlbWVudCBhbmQgc2VhcmNoIGVsZW1lbnQgYXJlIGJvb2xlYW5zLCBh
bmQgdGhleSBoYXZlIHNhbWUgdmFsdWUiLA0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsNCi0NCi0gICAgICAgIHJldHVybiBbZmFsc2UsIHRydWVdLmxhc3RJbmRleE9mKHRydWUpID09
PSAxOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsN
Ci0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOw0K
LSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
CisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8g
CisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CisKKyAgICBpZDogIjE1LjQuNC4xNS04LWIt
aWktMTAiLAorCisgICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjE1LzE1LjQuNC4xNS04LWItaWktMTAuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJh
eS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBib3RoIGFycmF5IGVsZW1lbnQgYW5kIHNlYXJjaCBl
bGVtZW50IGFyZSBib29sZWFucywgYW5kIHRoZXkgaGF2ZSBzYW1lIHZhbHVlIiwKKyAgICB0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICByZXR1cm4gW2ZhbHNlLCB0cnVlXS5s
YXN0SW5kZXhPZih0cnVlKSA9PT0gMTsKKyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7CisgICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUu
bGFzdEluZGV4T2YpOworICAgIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYi1paS0x
MC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1iLWlpLTExLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTUtOC1iLWlpLTExLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYi1paS0xMS5qcwkod29y
a2luZyBjb3B5KQpAQCAtMSw0MSArMSw0MSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0K
LS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7DQotDQotICAgIGlkOiAiMTUuNC40LjE1LTgtYi1paS0xMSIsDQotDQotICAgIHBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1i
LWlpLTExLmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdElu
ZGV4T2YgLSBib3RoIGFycmF5IGVsZW1lbnQgYW5kIHNlYXJjaCBlbGVtZW50IGFyZSBPYmplY3Rz
LCBhbmQgdGhleSByZWZlciB0byB0aGUgc2FtZSBvYmplY3QiLA0KLSAgICB0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHZhciBvYmoxID0ge307DQotICAgICAgICB2YXIg
b2JqMiA9IHt9Ow0KLSAgICAgICAgdmFyIG9iajMgPSBvYmoyOw0KLSAgICAgICAgcmV0dXJuIFtv
YmoyLCBvYmoxXS5sYXN0SW5kZXhPZihvYmozKSA9PT0gMDsNCi0gICAgfSwNCi0NCi0gICAgcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMo
QXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAK
Ky8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggeworCisgICAgaWQ6ICIxNS40LjQuMTUtOC1iLWlpLTExIiwKKworICAgIHBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLWlpLTEx
LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0g
Ym90aCBhcnJheSBlbGVtZW50IGFuZCBzZWFyY2ggZWxlbWVudCBhcmUgT2JqZWN0cywgYW5kIHRo
ZXkgcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0IiwKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKworICAgICAgICB2YXIgb2JqMSA9IHt9OworICAgICAgICB2YXIgb2JqMiA9IHt9Owor
ICAgICAgICB2YXIgb2JqMyA9IG9iajI7CisgICAgICAgIHJldHVybiBbb2JqMiwgb2JqMV0ubGFz
dEluZGV4T2Yob2JqMykgPT09IDA7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxh
c3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWItaWktMTEu
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYi1paS0yLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTUtOC1iLWlpLTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1iLWlpLTIuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMzkgKzEsMzkgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
Uw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0K
LS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
ew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNS04LWItaWktMiIsDQotDQotICAgIHBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLWlpLTIu
anMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAt
IGJvdGggdHlwZSBvZiBhcnJheSBlbGVtZW50IGFuZCB0eXBlIG9mIHNlYXJjaCBlbGVtZW50IGFy
ZSBVbmRlZmluZWQiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0g
ICAgICAgIHJldHVybiBbdW5kZWZpbmVkXS5sYXN0SW5kZXhPZigpID09PSAwICYmIFt1bmRlZmlu
ZWRdLmxhc3RJbmRleE9mKHVuZGVmaW5lZCkgPT09IDA7DQotICAgIH0sDQotDQotICAgIHByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFy
cmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKKworICAgIGlkOiAiMTUuNC40LjE1LTgtYi1paS0yIiwKKworICAgIHBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLWlpLTIuanMi
LAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBib3Ro
IHR5cGUgb2YgYXJyYXkgZWxlbWVudCBhbmQgdHlwZSBvZiBzZWFyY2ggZWxlbWVudCBhcmUgVW5k
ZWZpbmVkIiwKKworICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHJl
dHVybiBbdW5kZWZpbmVkXS5sYXN0SW5kZXhPZigpID09PSAwICYmIFt1bmRlZmluZWRdLmxhc3RJ
bmRleE9mKHVuZGVmaW5lZCkgPT09IDA7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
Lmxhc3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWItaWkt
Mi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1iLWlpLTMuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNS04LWItaWktMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWItaWktMy5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzOSArMSwzOSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
DQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7DQotDQotICAgIGlkOiAiMTUuNC40LjE1LTgtYi1paS0zIiwNCi0NCi0gICAgcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWkt
My5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9m
IC0gYm90aCB0eXBlIG9mIGFycmF5IGVsZW1lbnQgYW5kIHR5cGUgb2Ygc2VhcmNoIGVsZW1lbnQg
YXJlIE51bGwiLA0KLQ0KLSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAg
ICAgIHJldHVybiBbbnVsbF0ubGFzdEluZGV4T2YobnVsbCkgPT09IDA7DQotICAgIH0sDQotDQot
ICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZu
RXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsKKworICAgIGlkOiAiMTUuNC40LjE1LTgtYi1paS0zIiwKKworICAgIHBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1i
LWlpLTMuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4
T2YgLSBib3RoIHR5cGUgb2YgYXJyYXkgZWxlbWVudCBhbmQgdHlwZSBvZiBzZWFyY2ggZWxlbWVu
dCBhcmUgTnVsbCIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAg
ICByZXR1cm4gW251bGxdLmxhc3RJbmRleE9mKG51bGwpID09PSAwOworICAgIH0sCisKKyAgICBw
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3Rz
KEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTUtOC1iLWlpLTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYi1p
aS00LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1iLWlpLTQuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1i
LWlpLTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzggKzEsMzggQEAKLS8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
DQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNS04LWItaWktNCIsDQot
DQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8x
NS40LjQuMTUtOC1iLWlpLTQuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3Rv
dHlwZS5sYXN0SW5kZXhPZiAtIHNlYXJjaCBlbGVtZW50IGlzIE5hTiIsDQotICAgIHRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgcmV0dXJuIFsrTmFOLCBOYU4sIC1OYU5d
Lmxhc3RJbmRleE9mKE5hTikgPT09IC0xOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90
b3R5cGUubGFzdEluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CisKKyAg
ICBpZDogIjE1LjQuNC4xNS04LWItaWktNCIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1paS00LmpzIiwKKworICAg
IGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gc2VhcmNoIGVsZW1l
bnQgaXMgTmFOIiwKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICBy
ZXR1cm4gWytOYU4sIE5hTiwgLU5hTl0ubGFzdEluZGV4T2YoTmFOKSA9PT0gLTE7CisgICAgfSwK
KworICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4g
Zm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNS04LWItaWktNC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTUtOC1iLWlpLTUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWItaWktNS5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNS04LWItaWktNS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYN
Ci0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0K
LUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotDQotICAgIGlkOiAiMTUuNC40LjE1LTgtYi1p
aS01IiwNCi0NCi0gICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjE1LzE1LjQuNC4xNS04LWItaWktNS5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gc2VhcmNoIGVsZW1lbnQgaXMgLU5hTiIsDQotICAg
IHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgcmV0dXJuIFsrTmFOLCBO
YU4sIC1OYU5dLmxhc3RJbmRleE9mKC1OYU4pID09PSAtMTsNCi0gICAgfSwNCi0NCi0gICAgcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMo
QXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi19DQotDQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
CisKKyAgICBpZDogIjE1LjQuNC4xNS04LWItaWktNSIsCisKKyAgICBwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1paS01LmpzIiwK
KworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gc2VhcmNo
IGVsZW1lbnQgaXMgLU5hTiIsCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAg
ICAgICAgcmV0dXJuIFsrTmFOLCBOYU4sIC1OYU5dLmxhc3RJbmRleE9mKC1OYU4pID09PSAtMTsK
KyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAg
IHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOworfQorCit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1iLWlpLTUuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE1LTgtYi1paS02LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1iLWlpLTYuanMJKHJldmlzaW9uIDE5
OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTUtOC1iLWlpLTYuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzggKzEsMzggQEAKLS8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNS04
LWItaWktNiIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40
LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLWlpLTYuanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjog
IkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGFycmF5IGVsZW1lbnQgaXMgKzAgYW5kIHNl
YXJjaCBlbGVtZW50IGlzIC0wIiwNCi0gICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQot
DQotICAgICAgICByZXR1cm4gWyswXS5sYXN0SW5kZXhPZigtMCkgPT09IDA7DQotICAgIH0sDQot
DQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgICAgICAgcmV0dXJu
IGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7DQotICAgIH0NCi0NCi19KTsN
CisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsKKworICAgIGlkOiAiMTUuNC40LjE1LTgtYi1paS02IiwKKworICAgIHBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUt
OC1iLWlpLTYuanMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdElu
ZGV4T2YgLSBhcnJheSBlbGVtZW50IGlzICswIGFuZCBzZWFyY2ggZWxlbWVudCBpcyAtMCIsCisg
ICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgICAgICAgcmV0dXJuIFsrMF0ubGFz
dEluZGV4T2YoLTApID09PSAwOworICAgIH0sCisKKyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0
SW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1iLWlpLTYuanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYi1paS03LmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUt
OC1iLWlpLTcuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1iLWlpLTcuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMzggKzEsMzggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LQ0KLSAgICBpZDogIjE1LjQuNC4xNS04LWItaWktNyIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLWlpLTcuanMi
LA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGFy
cmF5IGVsZW1lbnQgaXMgLTAgYW5kIHNlYXJjaCBlbGVtZW50IGlzICswIiwNCi0gICAgdGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICAgICAgICByZXR1cm4gWy0wXS5sYXN0SW5kZXhP
ZigrMCkgPT09IDA7DQotICAgIH0sDQotDQotICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgew0KLSAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5k
ZXhPZik7DQotICAgIH0NCi0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKKworICAgIGlkOiAiMTUuNC40
LjE1LTgtYi1paS03IiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUu
NC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLWlpLTcuanMiLAorCisgICAgZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBhcnJheSBlbGVtZW50IGlzIC0wIGFuZCBz
ZWFyY2ggZWxlbWVudCBpcyArMCIsCisgICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisK
KyAgICAgICAgcmV0dXJuIFstMF0ubGFzdEluZGV4T2YoKzApID09PSAwOworICAgIH0sCisKKyAg
ICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZuRXhp
c3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTUtOC1iLWlpLTcuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQoj
IyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgt
Yi1paS04LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1iLWlpLTguanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUt
OC1iLWlpLTguanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzggKzEsMzggQEAKLS8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0K
LS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNS04LWItaWktOCIs
DQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4x
NS8xNS40LjQuMTUtOC1iLWlpLTguanMiLA0KLQ0KLSAgICBkZXNjcmlwdGlvbjogIkFycmF5LnBy
b3RvdHlwZS5sYXN0SW5kZXhPZiAtIGJvdGggYXJyYXkgZWxlbWVudCBhbmQgc2VhcmNoIGVsZW1l
bnQgYXJlIG51bWJlcnMsIGFuZCB0aGV5IGhhdmUgc2FtZSB2YWx1ZSIsDQotICAgIHRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgcmV0dXJuIFstMSwgMCwgMV0ubGFzdElu
ZGV4T2YoLTEpID09PSAwOw0KLSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFz
dEluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CisKKyAgICBpZDogIjE1
LjQuNC4xNS04LWItaWktOCIsCisKKyAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40
LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1paS04LmpzIiwKKworICAgIGRlc2NyaXB0
aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gYm90aCBhcnJheSBlbGVtZW50IGFu
ZCBzZWFyY2ggZWxlbWVudCBhcmUgbnVtYmVycywgYW5kIHRoZXkgaGF2ZSBzYW1lIHZhbHVlIiwK
KyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAgICByZXR1cm4gWy0xLCAw
LCAxXS5sYXN0SW5kZXhPZigtMSkgPT09IDA7CisgICAgfSwKKworICAgIHByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgeworICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90
eXBlLmxhc3RJbmRleE9mKTsKKyAgICB9CisKK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWIt
aWktOC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xG
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOC1iLWlpLTkuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNS04LWItaWktOS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWItaWktOS5qcwkod29y
a2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0K
LS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7DQotDQotICAgIGlkOiAiMTUuNC40LjE1LTgtYi1paS05IiwNCi0NCi0gICAgcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWIt
aWktOS5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRl
eE9mIC0gYm90aCBhcnJheSBlbGVtZW50IGFuZCBzZWFyY2ggZWxlbWVudCBhcmUgc3RyaW5ncywg
YW5kIHRoZXkgaGF2ZSBleGFjdGx5IHRoZSBzYW1lIHNlcXVlbmNlIG9mIGNoYXJhY3RlcnMiLA0K
LSAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gICAgICAgIHJldHVybiBbImFi
YyIsICJhYiIsICJiY2EiLCAiIl0ubGFzdEluZGV4T2YoImFiYyIpID09PSAwOw0KLSAgICB9LA0K
LQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAgICAgIHJldHVy
biBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOw0KLSAgICB9DQotDQotfSk7
DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisv
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7CisKKyAgICBpZDogIjE1LjQuNC4xNS04LWItaWktOSIsCisKKyAgICBw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1
LTgtYi1paS05LmpzIiwKKworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJ
bmRleE9mIC0gYm90aCBhcnJheSBlbGVtZW50IGFuZCBzZWFyY2ggZWxlbWVudCBhcmUgc3RyaW5n
cywgYW5kIHRoZXkgaGF2ZSBleGFjdGx5IHRoZSBzYW1lIHNlcXVlbmNlIG9mIGNoYXJhY3RlcnMi
LAorICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgICAgICAgIHJldHVybiBbImFi
YyIsICJhYiIsICJiY2EiLCAiIl0ubGFzdEluZGV4T2YoImFiYyIpID09PSAwOworICAgIH0sCisK
KyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZu
RXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTUtOC1iLWlpLTkuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHls
ZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1
LTgtYi1paWktMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTgtYi1paWktMS5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNS04LWItaWlpLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzkgKzEsMzkgQEAKLS8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
DQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0N
Ci1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLQ0KLSAgICBpZDogIjE1LjQuNC4xNS04LWIt
aWlpLTEiLA0KLQ0KLSAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMTUvMTUuNC40LjE1LTgtYi1paWktMS5qcyIsDQotDQotICAgIGRlc2NyaXB0aW9uOiAi
QXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgaW5kZXggb2YgbGFzdCBvbmUgd2hl
biBtb3JlIHRoYW4gdHdvIGVsZW1lbnRzIGluIGFycmF5IGFyZSBlbGlnaWJsZSIsDQotDQotICAg
IHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgICAgICAgcmV0dXJuIFsyLCAxLCAy
LCAyLCAxXS5sYXN0SW5kZXhPZigyKSA9PT0gMzsNCi0gICAgfSwNCi0NCi0gICAgcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLmxhc3RJbmRleE9mKTsNCi0gICAgfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
CisgICAgaWQ6ICIxNS40LjQuMTUtOC1iLWlpaS0xIiwKKworICAgIHBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLWlpaS0xLmpzIiwK
KworICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMg
aW5kZXggb2YgbGFzdCBvbmUgd2hlbiBtb3JlIHRoYW4gdHdvIGVsZW1lbnRzIGluIGFycmF5IGFy
ZSBlbGlnaWJsZSIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICAgICAg
ICByZXR1cm4gWzIsIDEsIDIsIDIsIDFdLmxhc3RJbmRleE9mKDIpID09PSAzOworICAgIH0sCisK
KyAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgICAgICAgcmV0dXJuIGZu
RXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CisgICAgfQorCit9KTsKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTUtOC1iLWlpaS0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
NS04LWItaWlpLTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS04LWItaWlpLTIuanMJKHJldmlzaW9uIDE5OTU0
OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTUtOC1iLWlpaS0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU4ICsxLDU4IEBACi3vu78v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCh7DQotDQotICAgIGlkOiAiMTUuNC40LjE1LTgt
Yi1paWktMiIsDQotDQotICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40
LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLWlpaS0yLmpzIiwNCi0NCi0gICAgZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyB3aXRob3V0IHZpc2l0aW5nIHN1
YnNlcXVlbnQgZWxlbWVudCBvbmNlIHNlYXJjaCB2YWx1ZSBpcyBmb3VuZCIsDQotDQotICAgIHRl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgICAgICAgdmFyIGFyciA9IFsyLCAxLCAsIDEs
IDJdOw0KLSAgICAgICAgdmFyIGVsZW1lbnRGaXJzdEFjY2Vzc2VkID0gZmFsc2U7DQotICAgICAg
ICB2YXIgZWxlbWVudFRoaXJkQWNjZXNzZWQgPSBmYWxzZTsNCi0NCi0gICAgICAgIE9iamVjdC5k
ZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KLSAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkg
ew0KLSAgICAgICAgICAgICAgICBlbGVtZW50VGhpcmRBY2Nlc3NlZCA9IHRydWU7DQotICAgICAg
ICAgICAgICAgIHJldHVybiAyOw0KLSAgICAgICAgICAgIH0sDQotICAgICAgICAgICAgY29uZmln
dXJhYmxlOiB0cnVlDQotICAgICAgICB9KTsNCi0gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0
eShhcnIsICIwIiwgew0KLSAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KLSAgICAgICAg
ICAgICAgICBlbGVtZW50Rmlyc3RBY2Nlc3NlZCA9IHRydWU7DQotICAgICAgICAgICAgICAgIHJl
dHVybiAyOw0KLSAgICAgICAgICAgIH0sDQotICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVl
DQotICAgICAgICB9KTsNCi0NCi0gICAgICAgIGFyci5sYXN0SW5kZXhPZigyKTsNCi0gICAgICAg
IHJldHVybiAhZWxlbWVudFRoaXJkQWNjZXNzZWQgJiYgIWVsZW1lbnRGaXJzdEFjY2Vzc2VkOw0K
LSAgICB9LA0KLQ0KLSAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gICAg
ICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhp
c3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7DQotICAgIH0NCi0NCi19KTsNCivvu78vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCh7CisKKyAgICBpZDogIjE1LjQuNC4xNS04LWItaWlpLTIiLAorCisgICAgcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWlpLTIu
anMiLAorCisgICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0
dXJucyB3aXRob3V0IHZpc2l0aW5nIHN1YnNlcXVlbnQgZWxlbWVudCBvbmNlIHNlYXJjaCB2YWx1
ZSBpcyBmb3VuZCIsCisKKyAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgICAgICAg
dmFyIGFyciA9IFsyLCAxLCAsIDEsIDJdOworICAgICAgICB2YXIgZWxlbWVudEZpcnN0QWNjZXNz
ZWQgPSBmYWxzZTsKKyAgICAgICAgdmFyIGVsZW1lbnRUaGlyZEFjY2Vzc2VkID0gZmFsc2U7CisK
KyAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7CisgICAgICAgICAgICBn
ZXQ6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICBlbGVtZW50VGhpcmRBY2Nlc3NlZCA9
IHRydWU7CisgICAgICAgICAgICAgICAgcmV0dXJuIDI7CisgICAgICAgICAgICB9LAorICAgICAg
ICAgICAgY29uZmlndXJhYmxlOiB0cnVlCisgICAgICAgIH0pOworICAgICAgICBPYmplY3QuZGVm
aW5lUHJvcGVydHkoYXJyLCAiMCIsIHsKKyAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewor
ICAgICAgICAgICAgICAgIGVsZW1lbnRGaXJzdEFjY2Vzc2VkID0gdHJ1ZTsKKyAgICAgICAgICAg
ICAgICByZXR1cm4gMjsKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBjb25maWd1cmFibGU6
IHRydWUKKyAgICAgICAgfSk7CisKKyAgICAgICAgYXJyLmxhc3RJbmRleE9mKDIpOworICAgICAg
ICByZXR1cm4gIWVsZW1lbnRUaGlyZEFjY2Vzc2VkICYmICFlbGVtZW50Rmlyc3RBY2Nlc3NlZDsK
KyAgICB9LAorCisgICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgICAgICAg
IHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3Rz
KE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CisgICAgfQorCit9KTsKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTUtOC1iLWlpaS0yLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCAr
MSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS05LTEuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNS05LTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOS0xLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDU4ICsxLDU4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MN
Ci0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0v
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsN
Ci1pZDogIjE1LjQuNC4xNS05LTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOS0xLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjog
IkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIGZvciBlbGVtZW50cyBub3Qg
cHJlc2VudCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgYSA9IG5l
dyBBcnJheSgpOw0KLSAgYVsxMDBdID0gMTsNCi0gIGFbOTk5OTldID0gIiI7ICANCi0gIGFbMTBd
ID0gbmV3IE9iamVjdCgpOw0KLSAgYVs1NTU1XSA9IDUuNTsNCi0gIGFbMTIzNDU2XSA9ICJzdHIi
Ow0KLSAgYVs1XSA9IDFFKzMwOTsNCi0gIGlmIChhLmxhc3RJbmRleE9mKDEpICE9PSAxMDAgfHwN
Ci0gICAgICBhLmxhc3RJbmRleE9mKCIiKSAhPT0gOTk5OTkgfHwNCi0gICAgICBhLmxhc3RJbmRl
eE9mKCJzdHIiKSAhPT0gMTIzNDU2IHx8DQotICAgICAgYS5sYXN0SW5kZXhPZig1LjUpICE9PSA1
NTU1IHx8DQotICAgICAgYS5sYXN0SW5kZXhPZigxRSszMDkpICE9PSA1ICkgICAgICANCi0gIHsN
Ci0gICAgcmV0dXJuIGZhbHNlOw0KLSAgfSAgICANCi0gIGlmIChhLmxhc3RJbmRleE9mKHRydWUp
ID09PSAtMSAmJiANCi0gICAgICBhLmxhc3RJbmRleE9mKDUpID09PSAtMSAmJg0KLSAgICAgIGEu
bGFzdEluZGV4T2YoInN0cjEiKSA9PT0gLTEgJiYNCi0gICAgICBhLmxhc3RJbmRleE9mKG51bGwp
ID09PSAtMSAgJiYNCi0gICAgICBhLmxhc3RJbmRleE9mKG5ldyBPYmplY3QoKSkgPT09IC0xICkg
DQotICB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5s
YXN0SW5kZXhPZik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE1LTkt
MSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8x
NS40LjQuMTUtOS0xLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdElu
ZGV4T2YgcmV0dXJucyAtMSBmb3IgZWxlbWVudHMgbm90IHByZXNlbnQiLAorCit0ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGEgPSBuZXcgQXJyYXkoKTsKKyAgYVsxMDBdID0gMTsK
KyAgYVs5OTk5OV0gPSAiIjsgIAorICBhWzEwXSA9IG5ldyBPYmplY3QoKTsKKyAgYVs1NTU1XSA9
IDUuNTsKKyAgYVsxMjM0NTZdID0gInN0ciI7CisgIGFbNV0gPSAxRSszMDk7CisgIGlmIChhLmxh
c3RJbmRleE9mKDEpICE9PSAxMDAgfHwKKyAgICAgIGEubGFzdEluZGV4T2YoIiIpICE9PSA5OTk5
OSB8fAorICAgICAgYS5sYXN0SW5kZXhPZigic3RyIikgIT09IDEyMzQ1NiB8fAorICAgICAgYS5s
YXN0SW5kZXhPZig1LjUpICE9PSA1NTU1IHx8CisgICAgICBhLmxhc3RJbmRleE9mKDFFKzMwOSkg
IT09IDUgKSAgICAgIAorICB7CisgICAgcmV0dXJuIGZhbHNlOworICB9ICAgIAorICBpZiAoYS5s
YXN0SW5kZXhPZih0cnVlKSA9PT0gLTEgJiYgCisgICAgICBhLmxhc3RJbmRleE9mKDUpID09PSAt
MSAmJgorICAgICAgYS5sYXN0SW5kZXhPZigic3RyMSIpID09PSAtMSAmJgorICAgICAgYS5sYXN0
SW5kZXhPZihudWxsKSA9PT0gLTEgICYmCisgICAgICBhLmxhc3RJbmRleE9mKG5ldyBPYmplY3Qo
KSkgPT09IC0xICkgCisgIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90
eXBlLmxhc3RJbmRleE9mKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTUtOS0xLmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS05LTIuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNS05LTIuanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTUtOS0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ1ICsxLDQ1
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4x
NS05LTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQu
NC4xNS8xNS40LjQuMTUtOS0yLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlw
ZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgYW5kIGRvZXMgbm90IGFj
Y2VzcyBhbnkgb3RoZXIgcHJvcGVydGllcyIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCi0gIHZhciBmID0ge2xlbmd0aDogMH07DQot
ICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZiwiMCIse2dldDogZnVuY3Rpb24gKCkge2FjY2Vzc2Vk
ID0gdHJ1ZTsgcmV0dXJuIDE7fX0pOw0KLSAgDQotICB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5s
YXN0SW5kZXhPZi5jYWxsKGYsMSk7DQotICANCi0gIGlmIChpID09PSAtMSAmJiBhY2Nlc3NlZD09
ZmFsc2UpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
LmluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7DQotIH0NCi19KTsN
CisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworCitFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTUtOS0yIiwKKworcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS05LTIuanMiLAorCitk
ZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIGlmICds
ZW5ndGgnIGlzIDAgYW5kIGRvZXMgbm90IGFjY2VzcyBhbnkgb3RoZXIgcHJvcGVydGllcyIsCisK
K3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKKyAg
dmFyIGYgPSB7bGVuZ3RoOiAwfTsKKyAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGYsIjAiLHtnZXQ6
IGZ1bmN0aW9uICgpIHthY2Nlc3NlZCA9IHRydWU7IHJldHVybiAxO319KTsKKyAgCisgIHZhciBp
ID0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoZiwxKTsKKyAgCisgIGlmIChpID09
PSAtMSAmJiBhY2Nlc3NlZD09ZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisK
K3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJy
YXkucHJvdG90eXBlLmluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7
CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE1LTktMi5qcwpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTYtMC0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtMC0xLmpzCShyZXZpc2lvbiAxOTk1NDkp
CisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE2LTAtMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzNSArMSwzNSBAQAotLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQot
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTYtMC0xIiwNCi0NCi1wYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTAtMS5q
cyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZXZlcnkgbXVzdCBleGlzdCBh
cyBhIGZ1bmN0aW9uIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBm
ID0gQXJyYXkucHJvdG90eXBlLmV2ZXJ5Ow0KLSAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9u
Iikgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxNS40LjQuMTYtMC0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0wLTEuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5ldmVyeSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24iLAorCit0ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGYgPSBBcnJheS5wcm90b3R5cGUuZXZlcnk7CisgIGlm
ICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0K
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi0wLTEuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE2LTAtMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTAtMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi0w
LTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzkgKzEsMzkgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi0NCi1FUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE2LTAtMiIsDQotDQotcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0wLTIuanMi
LA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmV2ZXJ5Lmxlbmd0aCBtdXN0IGJl
IDEiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgaWYgKEFycmF5LnByb3Rv
dHlwZS5ldmVyeS5sZW5ndGggPT09IDEpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0s
DQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLmV2ZXJ5KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7Citp
ZDogIjE1LjQuNC4xNi0wLTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1
LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTAtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXku
cHJvdG90eXBlLmV2ZXJ5Lmxlbmd0aCBtdXN0IGJlIDEiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsKKyAgaWYgKEFycmF5LnByb3RvdHlwZS5ldmVyeS5sZW5ndGggPT09IDEpIHsKKyAg
ICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmV2ZXJ5KTsKKyB9Cit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTYtMC0yLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
Ni00LTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNi00LTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtNC0xLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ1ICsxLDQ1IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNi00LTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNi8xNS40LjQuMTYtNC0xLmpzIiwNCi0NCi1k
ZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5ldmVyeSB0aHJvd3MgVHlwZUVycm9yIGlmIGNh
bGxiYWNrZm4gaXMgdW5kZWZpbmVkIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsN
Ci0NCi0gIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KLSAgdHJ5IHsNCi0gICAgYXJyLmV2ZXJ5
KCk7ICAgIA0KLSAgfQ0KLSAgY2F0Y2goZSkgew0KLSAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVy
cm9yKQ0KLSAgICAgIHJldHVybiB0cnVlOyAgDQotICB9DQotDQotIH0sDQotDQotcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90
eXBlLmV2ZXJ5KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTYtNC0x
IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1
LjQuNC4xNi00LTEuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5ldmVyeSB0
aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgdW5kZWZpbmVkIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7CisgIHRyeSB7
CisgICAgYXJyLmV2ZXJ5KCk7ICAgIAorICB9CisgIGNhdGNoKGUpIHsKKyAgICBpZihlIGluc3Rh
bmNlb2YgVHlwZUVycm9yKQorICAgICAgcmV0dXJuIHRydWU7ICAKKyAgfQorCisgfSwKKworcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5w
cm90b3R5cGUuZXZlcnkpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi00LTEuanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTQtMy5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTQtMy5qcwko
cmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNi00LTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDUgKzEsNDUg
QEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyAN
Ci0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0v
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE2LTQt
MyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2
LzE1LjQuNC4xNi00LTMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmV2
ZXJ5IHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudWxsIiwNCi0NCi10ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KLSAg
dHJ5IHsNCi0gICAgYXJyLmV2ZXJ5KG51bGwpOyAgICANCi0gIH0NCi0gIGNhdGNoKGUpIHsNCi0g
ICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCi0gICAgICByZXR1cm4gdHJ1ZTsgIA0KLSAg
fQ0KLQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0
dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5ldmVyeSk7DQotIH0NCi19KTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKK2lkOiAiMTUuNC40LjE2LTQtMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4xNi8xNS40LjQuMTYtNC0zLmpzIiwKKworZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUuZXZlcnkgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlz
IG51bGwiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICB2YXIgYXJyID0gbmV3
IEFycmF5KDEwKTsKKyAgdHJ5IHsKKyAgICBhcnIuZXZlcnkobnVsbCk7ICAgIAorICB9CisgIGNh
dGNoKGUpIHsKKyAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQorICAgICAgcmV0dXJuIHRy
dWU7ICAKKyAgfQorCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7Cisg
IHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZXZlcnkpOworIH0KK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNi00LTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTQtNC5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE2LTQtNC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi00LTQuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggew0KLWlkOiAiMTUuNC40LjE2LTQtNCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTQuanMiLA0KLQ0KLWRlc2NyaXB0
aW9uOiAiQXJyYXkucHJvdG90eXBlLmV2ZXJ5IHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tm
biBpcyBib29sZWFuIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gIHZh
ciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KLSAgdHJ5IHsNCi0gICAgYXJyLmV2ZXJ5KHRydWUpOyAg
ICANCi0gIH0NCi0gIGNhdGNoKGUpIHsNCi0gICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikN
Ci0gICAgICByZXR1cm4gdHJ1ZTsgIA0KLSAgfQ0KLQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5l
dmVyeSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8v
LyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE2LTQtNCIsCisK
K3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNi8xNS40LjQu
MTYtNC00LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZXZlcnkgdGhyb3dz
IFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIGJvb2xlYW4iLAorCit0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsKKworICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsKKyAgdHJ5IHsKKyAgICBh
cnIuZXZlcnkodHJ1ZSk7ICAgIAorICB9CisgIGNhdGNoKGUpIHsKKyAgICBpZihlIGluc3RhbmNl
b2YgVHlwZUVycm9yKQorICAgICAgcmV0dXJuIHRydWU7ICAKKyAgfQorCisgfSwKKworcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90
b3R5cGUuZXZlcnkpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi00LTQuanMKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTQtNS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTQtNS5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNi00LTUuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDUgKzEsNDUgQEAK
LS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0v
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAN
Ci0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE2LTQtNSIs
DQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1
LjQuNC4xNi00LTUuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmV2ZXJ5
IHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudW1iZXIiLA0KLQ0KLXRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQotICB0
cnkgew0KLSAgICBhcnIuZXZlcnkoNSk7ICAgIA0KLSAgfQ0KLSAgY2F0Y2goZSkgew0KLSAgICBp
ZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KLSAgICAgIHJldHVybiB0cnVlOyAgDQotICB9DQot
DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4g
Zm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmV2ZXJ5KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
eworaWQ6ICIxNS40LjQuMTYtNC01IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTUuanMiLAorCitkZXNjcmlwdGlvbjogIkFy
cmF5LnByb3RvdHlwZS5ldmVyeSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgbnVt
YmVyIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgdmFyIGFyciA9IG5ldyBB
cnJheSgxMCk7CisgIHRyeSB7CisgICAgYXJyLmV2ZXJ5KDUpOyAgICAKKyAgfQorICBjYXRjaChl
KSB7CisgICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikKKyAgICAgIHJldHVybiB0cnVlOyAg
CisgIH0KKworIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmV2ZXJ5KTsKKyB9Cit9KTsKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTYtNC01LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCAr
MSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi00LTYuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNi00LTYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtNC02LmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDQ1ICsxLDQ1IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MN
Ci0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0v
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsN
Ci1pZDogIjE1LjQuNC4xNi00LTYiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjQvMTUuNC40LzE1LjQuNC4xNi8xNS40LjQuMTYtNC02LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjog
IkFycmF5LnByb3RvdHlwZS5ldmVyeSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMg
c3RyaW5nIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gIHZhciBhcnIg
PSBuZXcgQXJyYXkoMTApOw0KLSAgdHJ5IHsNCi0gICAgYXJyLmV2ZXJ5KCJhYmMiKTsgICAgDQot
ICB9DQotICBjYXRjaChlKSB7DQotICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQotICAg
ICAgcmV0dXJuIHRydWU7ICANCi0gIH0NCi0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZXZlcnkp
Ow0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisv
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisv
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xNi00LTYiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTQt
Ni5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmV2ZXJ5IHRocm93cyBUeXBl
RXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBzdHJpbmciLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKworICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsKKyAgdHJ5IHsKKyAgICBhcnIuZXZl
cnkoImFiYyIpOyAgICAKKyAgfQorICBjYXRjaChlKSB7CisgICAgaWYoZSBpbnN0YW5jZW9mIFR5
cGVFcnJvcikKKyAgICAgIHJldHVybiB0cnVlOyAgCisgIH0KKworIH0sCisKK3ByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
LmV2ZXJ5KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtNC02LmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNi00LTcuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi00LTcuanMJKHJldmlzaW9u
IDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTYtNC03LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ1ICsxLDQ1IEBACi0vLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
Rg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNi00LTciLA0KLQ0K
LXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNi8xNS40LjQu
MTYtNC03LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5ldmVyeSB0aHJv
d3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgT2JqZWN0IHdpdGhvdXRoIENhbGwgaW50ZXJu
YWwgbWV0aG9kIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gIHZhciBh
cnIgPSBuZXcgQXJyYXkoMTApOw0KLSAgdHJ5IHsNCi0gICAgYXJyLmV2ZXJ5KCB7fSApOyAgICAN
Ci0gIH0NCi0gIGNhdGNoKGUpIHsNCi0gICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCi0g
ICAgICByZXR1cm4gdHJ1ZTsgIA0KLSAgfQ0KLQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5ldmVy
eSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8K
Ky8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAK
Ky8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisK
KworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE2LTQtNyIsCisKK3Bh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNi8xNS40LjQuMTYt
NC03LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZXZlcnkgdGhyb3dzIFR5
cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIE9iamVjdCB3aXRob3V0aCBDYWxsIGludGVybmFsIG1l
dGhvZCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgIHZhciBhcnIgPSBuZXcg
QXJyYXkoMTApOworICB0cnkgeworICAgIGFyci5ldmVyeSgge30gKTsgICAgCisgIH0KKyAgY2F0
Y2goZSkgeworICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpCisgICAgICByZXR1cm4gdHJ1
ZTsgIAorICB9CisKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAg
cmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5ldmVyeSk7CisgfQorfSk7CgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE2LTQtNy5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w
LDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtNS0xLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTYtNS0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTUtMS5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMSw0NSArMSw0NSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
DQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7DQotaWQ6ICIxNS40LjQuMTYtNS0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtMS5qcyIsDQotDQotZGVzY3JpcHRp
b246ICJBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGlzQXJnIG5vdCBwYXNzZWQiLA0KLQ0KLXRl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGlubmVyVGhpc0NvcnJlY3QgPSBmYWxz
ZTsNCi0gIA0KLSAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KLSAgew0KLSAg
ICBpbm5lclRoaXNDb3JyZWN0ID0gdGhpcz09PWZuR2xvYmFsT2JqZWN0KCk7DQotICAgIHJldHVy
biB0cnVlOw0KLSAgfQ0KLQ0KLSAgWzFdLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KLSAgcmV0dXJuIGlu
bmVyVGhpc0NvcnJlY3Q7ICAgIA0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5ldmVyeSk7DQotIH0N
Ci19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8v
LyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisv
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE2LTUtMSIsCisKK3BhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNi8xNS40LjQuMTYtNS0xLmpzIiwK
KworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGlzQXJnIG5vdCBwYXNz
ZWQiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGlubmVyVGhpc0NvcnJl
Y3QgPSBmYWxzZTsKKyAgCisgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikKKyAg
eworICAgIGlubmVyVGhpc0NvcnJlY3QgPSB0aGlzPT09Zm5HbG9iYWxPYmplY3QoKTsKKyAgICBy
ZXR1cm4gdHJ1ZTsKKyAgfQorCisgIFsxXS5ldmVyeShjYWxsYmFja2ZuKTsKKyAgcmV0dXJuIGlu
bmVyVGhpc0NvcnJlY3Q7ICAgIAorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmV2ZXJ5KTsKKyB9Cit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTYtNS0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
Ni01LTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNi01LTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtNS0yLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ3ICsxLDQ3IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNi01LTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNi8xNS40LjQuMTYtNS0yLmpzIiwNCi0NCi1k
ZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHRoaXNBcmcgaXMgT2JqZWN0IiwN
Ci0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciByZXMgPSBmYWxzZTsNCi0g
IHZhciBvID0gbmV3IE9iamVjdCgpOw0KLSAgby5yZXMgPSB0cnVlOw0KLSAgZnVuY3Rpb24gY2Fs
bGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KLSAgew0KLSAgICByZXR1cm4gdGhpcy5yZXM7DQotICB9
DQotDQotICB2YXIgYXJyID0gWzFdOw0KLSAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4sIG8pID09
PSB0cnVlKQ0KLSAgICByZXR1cm4gdHJ1ZTsgICAgDQotDQotIH0sDQotDQotcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
LmV2ZXJ5KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
Ly8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTYtNS0yIiwK
KworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQu
NC4xNi01LTIuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHRo
aXNBcmcgaXMgT2JqZWN0IiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBy
ZXMgPSBmYWxzZTsKKyAgdmFyIG8gPSBuZXcgT2JqZWN0KCk7CisgIG8ucmVzID0gdHJ1ZTsKKyAg
ZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQorICB7CisgICAgcmV0dXJuIHRoaXMu
cmVzOworICB9CisKKyAgdmFyIGFyciA9IFsxXTsKKyAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4s
IG8pID09PSB0cnVlKQorICAgIHJldHVybiB0cnVlOyAgICAKKworIH0sCisKK3ByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
LmV2ZXJ5KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtNS0yLmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNi01LTMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi01LTMuanMJKHJldmlzaW9u
IDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTYtNS0zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ4ICsxLDQ4IEBACi0vLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
Rg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNi01LTMiLA0KLQ0K
LXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNi8xNS40LjQu
MTYtNS0zLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHRo
aXNBcmcgaXMgQXJyYXkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFy
IHJlcyA9IGZhbHNlOw0KLSAgdmFyIGEgPSBuZXcgQXJyYXkoKTsNCi0gIGEucmVzID0gdHJ1ZTsN
Ci0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCi0gIHsNCi0gICAgcmV0dXJu
IHRoaXMucmVzOw0KLSAgfQ0KLQ0KLSAgdmFyIGFyciA9IFsxXTsNCi0NCi0gIGlmKGFyci5ldmVy
eShjYWxsYmFja2ZuLCBhKSA9PT0gdHJ1ZSkNCi0gICAgcmV0dXJuIHRydWU7ICAgIA0KLQ0KLSB9
LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhp
c3RzKEFycmF5LnByb3RvdHlwZS5ldmVyeSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTUuNC40LjE2LTUtMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUu
NC40LzE1LjQuNC4xNi8xNS40LjQuMTYtNS0zLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUuZXZlcnkgLSB0aGlzQXJnIGlzIEFycmF5IiwKKwordGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7CisgIHZhciByZXMgPSBmYWxzZTsKKyAgdmFyIGEgPSBuZXcgQXJyYXkoKTsKKyAg
YS5yZXMgPSB0cnVlOworICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopCisgIHsK
KyAgICByZXR1cm4gdGhpcy5yZXM7CisgIH0KKworICB2YXIgYXJyID0gWzFdOworCisgIGlmKGFy
ci5ldmVyeShjYWxsYmFja2ZuLCBhKSA9PT0gdHJ1ZSkKKyAgICByZXR1cm4gdHJ1ZTsgICAgCisK
KyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhp
c3RzKEFycmF5LnByb3RvdHlwZS5ldmVyeSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2
LTUtMy5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xG
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtNS00LmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTYtNS00LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTUtNC5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSw0OSArMSw0OSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIx
NS40LjQuMTYtNS00IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQu
NC8xNS40LjQuMTYvMTUuNC40LjE2LTUtNC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUuZXZlcnkgLSB0aGlzQXJnIGlzIG9iamVjdCBmcm9tIG9iamVjdCB0ZW1wbGF0ZShw
cm90b3R5cGUpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciByZXMg
PSBmYWxzZTsNCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCi0gIHsNCi0g
ICAgcmV0dXJuIHRoaXMucmVzOw0KLSAgfQ0KLSAgDQotICBmdW5jdGlvbiBmb28oKXt9DQotICBm
b28ucHJvdG90eXBlLnJlcyA9IHRydWU7DQotICB2YXIgZiA9IG5ldyBmb28oKTsNCi0gIHZhciBh
cnIgPSBbMV07DQotDQotICAgIGlmKGFyci5ldmVyeShjYWxsYmFja2ZuLGYpID09PSB0cnVlKQ0K
LSAgICAgIHJldHVybiB0cnVlOyAgICANCi0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZXZlcnkp
Ow0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisv
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisv
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xNi01LTQiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUt
NC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdGhpc0FyZyBp
cyBvYmplY3QgZnJvbSBvYmplY3QgdGVtcGxhdGUocHJvdG90eXBlKSIsCisKK3Rlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgeworICB2YXIgcmVzID0gZmFsc2U7CisgIGZ1bmN0aW9uIGNhbGxiYWNr
Zm4odmFsLCBpZHgsIG9iaikKKyAgeworICAgIHJldHVybiB0aGlzLnJlczsKKyAgfQorICAKKyAg
ZnVuY3Rpb24gZm9vKCl7fQorICBmb28ucHJvdG90eXBlLnJlcyA9IHRydWU7CisgIHZhciBmID0g
bmV3IGZvbygpOworICB2YXIgYXJyID0gWzFdOworCisgICAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNr
Zm4sZikgPT09IHRydWUpCisgICAgICByZXR1cm4gdHJ1ZTsgICAgCisKKyB9LAorCitwcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3Rv
dHlwZS5ldmVyeSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTUtNC5qcwpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtNS01LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtNS01LmpzCShyZXZp
c2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE2LTUtNS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0OSArMSw0OSBAQAot
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0K
LQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTYtNS01IiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUu
NC40LjE2LTUtNS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZXZlcnkg
LSB0aGlzQXJnIGlzIG9iamVjdCBmcm9tIG9iamVjdCB0ZW1wbGF0ZSIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgcmVzID0gZmFsc2U7DQotICBmdW5jdGlvbiBjYWxs
YmFja2ZuKHZhbCwgaWR4LCBvYmopDQotICB7DQotICAgIHJldHVybiB0aGlzLnJlczsNCi0gIH0N
Ci0NCi0gIGZ1bmN0aW9uIGZvbygpe30NCi0gIHZhciBmID0gbmV3IGZvbygpOw0KLSAgZi5yZXMg
PSB0cnVlOw0KLSAgdmFyIGFyciA9IFsxXTsNCi0NCi0gIGlmKGFyci5ldmVyeShjYWxsYmFja2Zu
LGYpID09PSB0cnVlKQ0KLSAgICByZXR1cm4gdHJ1ZTsgICAgDQotDQotIH0sDQotDQotcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJv
dG90eXBlLmV2ZXJ5KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTYt
NS01IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2
LzE1LjQuNC4xNi01LTUuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5ldmVy
eSAtIHRoaXNBcmcgaXMgb2JqZWN0IGZyb20gb2JqZWN0IHRlbXBsYXRlIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciByZXMgPSBmYWxzZTsKKyAgZnVuY3Rpb24gY2FsbGJh
Y2tmbih2YWwsIGlkeCwgb2JqKQorICB7CisgICAgcmV0dXJuIHRoaXMucmVzOworICB9CisKKyAg
ZnVuY3Rpb24gZm9vKCl7fQorICB2YXIgZiA9IG5ldyBmb28oKTsKKyAgZi5yZXMgPSB0cnVlOwor
ICB2YXIgYXJyID0gWzFdOworCisgIGlmKGFyci5ldmVyeShjYWxsYmFja2ZuLGYpID09PSB0cnVl
KQorICAgIHJldHVybiB0cnVlOyAgICAKKworIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmV2ZXJ5KTsKKyB9
Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtNS01LmpzCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
b2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNi01LTYuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi01LTYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYt
NS02LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ4ICsxLDQ4IEBACi0vLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0K
LS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
Uw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNi01LTYiLA0KLQ0KLXBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNi8xNS40LjQuMTYtNS02LmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHRoaXNBcmcgaXMgZnVu
Y3Rpb24iLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIHJlcyA9IGZh
bHNlOw0KLSAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KLSAgew0KLSAgICBy
ZXR1cm4gdGhpcy5yZXM7DQotICB9DQotDQotICBmdW5jdGlvbiBmb28oKXt9DQotICBmb28ucmVz
ID0gdHJ1ZTsNCi0gIHZhciBhcnIgPSBbMV07DQotDQotICBpZihhcnIuZXZlcnkoY2FsbGJhY2tm
bixmb28pID09PSB0cnVlKQ0KLSAgICByZXR1cm4gdHJ1ZTsgICAgDQotDQotIH0sDQotDQotcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLmV2ZXJ5KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IK
Ky8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQu
MTYtNS02IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40
LjE2LzE1LjQuNC4xNi01LTYuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5l
dmVyeSAtIHRoaXNBcmcgaXMgZnVuY3Rpb24iLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsKKyAgdmFyIHJlcyA9IGZhbHNlOworICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBv
YmopCisgIHsKKyAgICByZXR1cm4gdGhpcy5yZXM7CisgIH0KKworICBmdW5jdGlvbiBmb28oKXt9
CisgIGZvby5yZXMgPSB0cnVlOworICB2YXIgYXJyID0gWzFdOworCisgIGlmKGFyci5ldmVyeShj
YWxsYmFja2ZuLGZvbykgPT09IHRydWUpCisgICAgcmV0dXJuIHRydWU7ICAgIAorCisgfSwKKwor
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJh
eS5wcm90b3R5cGUuZXZlcnkpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi01LTYuanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTctMS5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTctMS5q
cwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNi03LTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDggKzEs
NDggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8v
LyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0K
LS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQot
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyAN
Ci0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE2
LTctMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40
LjE2LzE1LjQuNC4xNi03LTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBl
LmV2ZXJ5IGRvZXNuJ3QgY29uc2lkZXIgbmV3IGVsZW1lbnRzIGJleW9uZCB0aGUgaW5pdGlhbCBs
ZW5ndGggb2YgYXJyYXkgYWZ0ZXIgaXQgaXMgY2FsbGVkIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsgDQotIA0KLSAgdmFyIGxhc3RJbmRleFZpc2l0ZWQ9LTE7IA0KLSANCi0gIGZ1
bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCi0gIHsNCi0gICAgaWYgKGlkeD09PTAp
IG9ialsxMF0gPSAxMDsNCi0gICAgbGFzdEluZGV4VmlzaXRlZD1pZHg7DQotICAgIHJldHVybiB0
cnVlOw0KLSAgfQ0KLSAgDQotICBbMCwxXS5ldmVyeShjYWxsYmFja2ZuKTsNCi0gIHJldHVybiBs
YXN0SW5kZXhWaXNpdGVkID09PSAxOyAgDQotICANCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZXZl
cnkpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
CisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8g
CisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xNi03LTEiLAorCitw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2
LTctMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGRvZXNuJ3Qg
Y29uc2lkZXIgbmV3IGVsZW1lbnRzIGJleW9uZCB0aGUgaW5pdGlhbCBsZW5ndGggb2YgYXJyYXkg
YWZ0ZXIgaXQgaXMgY2FsbGVkIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAorIAor
ICB2YXIgbGFzdEluZGV4VmlzaXRlZD0tMTsgCisgCisgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFs
LCBpZHgsIG9iaikKKyAgeworICAgIGlmIChpZHg9PT0wKSBvYmpbMTBdID0gMTA7CisgICAgbGFz
dEluZGV4VmlzaXRlZD1pZHg7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyAgCisgIFswLDFdLmV2
ZXJ5KGNhbGxiYWNrZm4pOworICByZXR1cm4gbGFzdEluZGV4VmlzaXRlZCA9PT0gMTsgIAorICAK
KyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhp
c3RzKEFycmF5LnByb3RvdHlwZS5ldmVyeSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2
LTctMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xG
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtNy0yLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTYtNy0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTctMi5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSw1MCArMSw1MCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIx
NS40LjQuMTYtNy0yIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQu
NC8xNS40LjQuMTYvMTUuNC40LjE2LTctMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUuZXZlcnkgY29uc2lkZXJzIG5ldyB2YWx1ZSBvZiBlbGVtZW50cyBpbiBhcnJheSBh
ZnRlciB0aGUgY2FsbCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KLSANCi0g
IGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBJZHgsIG9iaikNCi0gIHsNCi0gICAgYXJyWzRdID0g
NjsNCi0gICAgaWYodmFsIDwgNikNCi0gICAgICAgcmV0dXJuIHRydWU7DQotICAgIGVsc2UgDQot
ICAgICAgIHJldHVybiBmYWxzZTsNCi0gIH0NCi0NCi0gIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsN
Ci0gIA0KLSAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pID09PSBmYWxzZSkgICAgDQotICAgICAg
cmV0dXJuIHRydWU7ICANCi0gIA0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5ldmVyeSk7DQotIH0N
Ci19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8v
LyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisv
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE2LTctMiIsCisKK3BhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNi8xNS40LjQuMTYtNy0yLmpzIiwK
KworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZXZlcnkgY29uc2lkZXJzIG5ldyB2YWx1
ZSBvZiBlbGVtZW50cyBpbiBhcnJheSBhZnRlciB0aGUgY2FsbCIsCisKK3Rlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeyAKKyAKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIElkeCwgb2JqKQor
ICB7CisgICAgYXJyWzRdID0gNjsKKyAgICBpZih2YWwgPCA2KQorICAgICAgIHJldHVybiB0cnVl
OworICAgIGVsc2UgCisgICAgICAgcmV0dXJuIGZhbHNlOworICB9CisKKyAgdmFyIGFyciA9IFsx
LDIsMyw0LDVdOworICAKKyAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pID09PSBmYWxzZSkgICAg
CisgICAgICByZXR1cm4gdHJ1ZTsgIAorICAKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5ldmVyeSk7Cisg
fQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTctMi5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTYtNy0zLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtNy0zLmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2
LTctMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1MCArMSw1MCBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTYtNy0zIiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctMy5qcyIs
DQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZXZlcnkgZG9lc24ndCB2aXNpdCBk
ZWxldGVkIGVsZW1lbnRzIGluIGFycmF5IGFmdGVyIHRoZSBjYWxsIiwNCi0NCi10ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsgDQotIA0KLSAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIElkeCwg
b2JqKQ0KLSAgew0KLSAgICBkZWxldGUgYXJyWzJdOw0KLSAgICBpZih2YWwgPT0gMykNCi0gICAg
ICAgcmV0dXJuIGZhbHNlOw0KLSAgICBlbHNlIA0KLSAgICAgICByZXR1cm4gdHJ1ZTsNCi0gIH0N
Ci0NCi0gIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsNCi0gIA0KLSAgaWYoYXJyLmV2ZXJ5KGNhbGxi
YWNrZm4pID09PSB0cnVlKSAgICANCi0gICAgICByZXR1cm4gdHJ1ZTsgIA0KLSAgDQotIH0sDQot
DQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMo
QXJyYXkucHJvdG90eXBlLmV2ZXJ5KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisv
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIx
NS40LjQuMTYtNy0zIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQv
MTUuNC40LjE2LzE1LjQuNC4xNi03LTMuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3Rv
dHlwZS5ldmVyeSBkb2Vzbid0IHZpc2l0IGRlbGV0ZWQgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIg
dGhlIGNhbGwiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCisgCisgIGZ1bmN0aW9u
IGNhbGxiYWNrZm4odmFsLCBJZHgsIG9iaikKKyAgeworICAgIGRlbGV0ZSBhcnJbMl07CisgICAg
aWYodmFsID09IDMpCisgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGVsc2UgCisgICAgICAgcmV0
dXJuIHRydWU7CisgIH0KKworICB2YXIgYXJyID0gWzEsMiwzLDQsNV07CisgIAorICBpZihhcnIu
ZXZlcnkoY2FsbGJhY2tmbikgPT09IHRydWUpICAgIAorICAgICAgcmV0dXJuIHRydWU7ICAKKyAg
CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4
aXN0cyhBcnJheS5wcm90b3R5cGUuZXZlcnkpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
Ni03LTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitM
RgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTctNC5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE2LTctNC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi03LTQuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsNTAgKzEsNTAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
Lg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAi
MTUuNC40LjE2LTctNCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40
LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTQuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXku
cHJvdG90eXBlLmV2ZXJ5IGRvZXNuJ3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyB3aGVuIEFycmF5
Lmxlbmd0aCBpcyBkZWNyZWFzZWQiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAN
Ci0gDQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBvYmopDQotICB7DQotICAgIGFy
ci5sZW5ndGggPSAzOw0KLSAgICBpZih2YWwgPCA0KQ0KLSAgICAgICByZXR1cm4gdHJ1ZTsNCi0g
ICAgZWxzZSANCi0gICAgICAgcmV0dXJuIGZhbHNlOw0KLSAgfQ0KLQ0KLSAgdmFyIGFyciA9IFsx
LDIsMyw0LDZdOw0KLSAgDQotICBpZihhcnIuZXZlcnkoY2FsbGJhY2tmbikgPT09IHRydWUpICAg
IA0KLSAgICAgIHJldHVybiB0cnVlOyAgDQotICANCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZXZl
cnkpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
CisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8g
CisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xNi03LTQiLAorCitw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2
LTctNC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGRvZXNuJ3Qg
dmlzaXQgZGVsZXRlZCBlbGVtZW50cyB3aGVuIEFycmF5Lmxlbmd0aCBpcyBkZWNyZWFzZWQiLAor
Cit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCisgCisgIGZ1bmN0aW9uIGNhbGxiYWNrZm4o
dmFsLCBJZHgsIG9iaikKKyAgeworICAgIGFyci5sZW5ndGggPSAzOworICAgIGlmKHZhbCA8IDQp
CisgICAgICAgcmV0dXJuIHRydWU7CisgICAgZWxzZSAKKyAgICAgICByZXR1cm4gZmFsc2U7Cisg
IH0KKworICB2YXIgYXJyID0gWzEsMiwzLDQsNl07CisgIAorICBpZihhcnIuZXZlcnkoY2FsbGJh
Y2tmbikgPT09IHRydWUpICAgIAorICAgICAgcmV0dXJuIHRydWU7ICAKKyAgCisgfSwKKworcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5w
cm90b3R5cGUuZXZlcnkpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi03LTQuanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTctNi5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTctNi5qcwko
cmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNi03LTYuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTQgKzEsNTQg
QEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyAN
Ci0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0v
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE2LTct
NiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2
LzE1LjQuNC4xNi03LTYuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmV2
ZXJ5IHZpc2l0cyBkZWxldGVkIGVsZW1lbnQgaW4gYXJyYXkgYWZ0ZXIgdGhlIGNhbGwgd2hlbiBz
YW1lIGluZGV4IGlzIGFsc28gcHJlc2VudCBpbiBwcm90b3R5cGUiLA0KLQ0KLXRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgeyANCi0gDQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBv
YmopDQotICB7DQotICAgIGRlbGV0ZSBhcnJbMl07DQotICAgIGlmKHZhbCA9PSAzKQ0KLSAgICAg
ICByZXR1cm4gZmFsc2U7DQotICAgIGVsc2UgDQotICAgICAgIHJldHVybiB0cnVlOw0KLSAgfQ0K
LQ0KLSAgQXJyYXkucHJvdG90eXBlWzJdID0gMzsNCi0gIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsN
Ci0gIA0KLSAgdmFyIHJlcyA9IGFyci5ldmVyeShjYWxsYmFja2ZuKTsNCi0gIGRlbGV0ZSBBcnJh
eS5wcm90b3R5cGVbMl07DQotDQotICBpZihyZXMgPT09IGZhbHNlKSAgICANCi0gICAgICByZXR1
cm4gdHJ1ZTsgIA0KLSAgDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmV2ZXJ5KTsNCi0gfQ0KLX0p
Ow0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAor
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisv
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTYtNy02IiwKKworcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTYuanMiLAorCitk
ZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5ldmVyeSB2aXNpdHMgZGVsZXRlZCBlbGVtZW50
IGluIGFycmF5IGFmdGVyIHRoZSBjYWxsIHdoZW4gc2FtZSBpbmRleCBpcyBhbHNvIHByZXNlbnQg
aW4gcHJvdG90eXBlIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAorIAorICBmdW5j
dGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBvYmopCisgIHsKKyAgICBkZWxldGUgYXJyWzJdOwor
ICAgIGlmKHZhbCA9PSAzKQorICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBlbHNlIAorICAgICAg
IHJldHVybiB0cnVlOworICB9CisKKyAgQXJyYXkucHJvdG90eXBlWzJdID0gMzsKKyAgdmFyIGFy
ciA9IFsxLDIsMyw0LDVdOworICAKKyAgdmFyIHJlcyA9IGFyci5ldmVyeShjYWxsYmFja2ZuKTsK
KyAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsKKworICBpZihyZXMgPT09IGZhbHNlKSAgICAK
KyAgICAgIHJldHVybiB0cnVlOyAgCisgIAorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmV2ZXJ5KTsKKyB9
Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtNy02LmpzCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
b2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNi03LWItMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTctYi0xLmpzCShyZXZpc2lvbiAxOTk1NDkp
CisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE2LTctYi0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ4ICsxLDQ4IEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNi03LWItMSIsDQotDQotcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03
LWItMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxs
YmFja2ZuIG5vdCBjYWxsZWQgZm9yIGluZGV4ZXMgbmV2ZXIgYmVlbiBhc3NpZ25lZCB2YWx1ZXMi
LA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCi0gDQotICB2YXIgY2FsbENudCA9
IDAuOw0KLSAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIElkeCwgb2JqKQ0KLSAgew0KLSAgICBj
YWxsQ250Kys7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLQ0KLSAgdmFyIGFyciA9IG5ldyBB
cnJheSgxMCk7DQotICBhcnJbMV0gPSB1bmRlZmluZWQ7ICANCi0gIGFyci5ldmVyeShjYWxsYmFj
a2ZuKTsNCi0gIGlmKCBjYWxsQ250ID09PSAxKSAgICANCi0gICAgICByZXR1cm4gdHJ1ZTsgIA0K
LSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZu
RXhpc3RzKEFycmF5LnByb3RvdHlwZS5ldmVyeSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsK
K2lkOiAiMTUuNC40LjE2LTctYi0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAi
QXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gY2FsbGJhY2tmbiBub3QgY2FsbGVkIGZvciBpbmRleGVz
IG5ldmVyIGJlZW4gYXNzaWduZWQgdmFsdWVzIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7IAorIAorICB2YXIgY2FsbENudCA9IDAuOworICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwg
SWR4LCBvYmopCisgIHsKKyAgICBjYWxsQ250Kys7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKwor
ICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsKKyAgYXJyWzFdID0gdW5kZWZpbmVkOyAgCisgIGFy
ci5ldmVyeShjYWxsYmFja2ZuKTsKKyAgaWYoIGNhbGxDbnQgPT09IDEpICAgIAorICAgICAgcmV0
dXJuIHRydWU7ICAKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAg
cmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5ldmVyeSk7CisgfQorfSk7CgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE2LTctYi0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMg
LTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi03LWMt
aWktMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE2LTctYy1paS0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTct
Yy1paS0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ2ICsxLDQ2IEBACi0vLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0v
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNi03LWMtaWktMSIsDQotDQotcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03
LWMtaWktMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBj
YWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7IA0KLSANCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBJZHgs
IG9iaikNCi0gIHsNCi0gICAgaWYob2JqW0lkeF0gPT09IHZhbCkNCi0gICAgICByZXR1cm4gdHJ1
ZTsNCi0gIH0NCi0NCi0gIHZhciBhcnIgPSBbMCwxLDIsMyw0LDUsNiw3LDgsOV07DQotICANCi0g
IGlmKGFyci5ldmVyeShjYWxsYmFja2ZuKSA9PT0gdHJ1ZSkNCi0gICAgcmV0dXJuIHRydWU7DQot
IH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5F
eGlzdHMoQXJyYXkucHJvdG90eXBlLmV2ZXJ5KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxNS40LjQuMTYtNy1jLWlpLTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paS0xLmpzIiwKKworZGVzY3JpcHRp
b246ICJBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJl
Y3QgcGFyYW1ldGVycyIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAKKyAKKyAgZnVu
Y3Rpb24gY2FsbGJhY2tmbih2YWwsIElkeCwgb2JqKQorICB7CisgICAgaWYob2JqW0lkeF0gPT09
IHZhbCkKKyAgICAgIHJldHVybiB0cnVlOworICB9CisKKyAgdmFyIGFyciA9IFswLDEsMiwzLDQs
NSw2LDcsOCw5XTsKKyAgCisgIGlmKGFyci5ldmVyeShjYWxsYmFja2ZuKSA9PT0gdHJ1ZSkKKyAg
ICByZXR1cm4gdHJ1ZTsKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsK
KyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5ldmVyeSk7CisgfQorfSk7CgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE2LTctYy1paS0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
Ni03LWMtaWktMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTctYy1paS0yLmpzCShyZXZpc2lvbiAxOTk1NDkp
CisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE2LTctYy1paS0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ3ICsxLDQ3IEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQot
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNi03LWMtaWktMiIsDQot
DQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQu
NC4xNi03LWMtaWktMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZXZl
cnkgLSBjYWxsYmFja2ZuIHRha2VzIDMgYXJndW1lbnRzIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsgDQotIA0KLSAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIElkeCwgb2JqKQ0K
LSAgew0KLSAgICBpZihhcmd1bWVudHMubGVuZ3RoID09PSAzKSAgIC8vdmVyaWZ5IGlmIGNhbGxi
YWNrZm4gd2FzIGNhbGxlZCB3aXRoIDMgcGFyYW1ldGVycw0KLSAgICAgICByZXR1cm4gdHJ1ZTsN
Ci0gIH0NCi0NCi0gIHZhciBhcnIgPSBbMCwxLHRydWUsbnVsbCxuZXcgT2JqZWN0KCksImZpdmUi
XTsNCi0gIGFycls5OTk5OTldID0gLTYuNjsNCi0gIA0KLSAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNr
Zm4pID09PSB0cnVlKQ0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gfSwNCi0NCi1wcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUu
ZXZlcnkpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisv
Ly8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xNi03LWMtaWkt
MiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNi8x
NS40LjQuMTYtNy1jLWlpLTIuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5l
dmVyeSAtIGNhbGxiYWNrZm4gdGFrZXMgMyBhcmd1bWVudHMiLAorCit0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsgCisgCisgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBJZHgsIG9iaikKKyAg
eworICAgIGlmKGFyZ3VtZW50cy5sZW5ndGggPT09IDMpICAgLy92ZXJpZnkgaWYgY2FsbGJhY2tm
biB3YXMgY2FsbGVkIHdpdGggMyBwYXJhbWV0ZXJzCisgICAgICAgcmV0dXJuIHRydWU7CisgIH0K
KworICB2YXIgYXJyID0gWzAsMSx0cnVlLG51bGwsbmV3IE9iamVjdCgpLCJmaXZlIl07CisgIGFy
cls5OTk5OTldID0gLTYuNjsKKyAgCisgIGlmKGFyci5ldmVyeShjYWxsYmFja2ZuKSA9PT0gdHJ1
ZSkKKyAgICByZXR1cm4gdHJ1ZTsKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5ldmVyeSk7CisgfQorfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE2LTctYy1paS0yLmpzCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
b2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xNi03LWMtaWktMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTctYy1paS0zLmpzCShyZXZpc2lvbiAx
OTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE2LTctYy1paS0zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUyICsxLDUyIEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNi03LWMtaWkt
MyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2
LzE1LjQuNC4xNi03LWMtaWktMy5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5
cGUuZXZlcnkgaW1tZWRpYXRlbHkgcmV0dXJucyBmYWxzZSBpZiBjYWxsYmFja2ZuIHJldHVybnMg
ZmFsc2UiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCi0gDQotICB2YXIgY2Fs
bENudCA9IDA7DQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQotICB7DQot
ICAgIGNhbGxDbnQrKzsNCi0gICAgaWYoaWR4ID4gNSkgICANCi0gICAgICAgcmV0dXJuIGZhbHNl
Ow0KLSAgICBlbHNlDQotICAgICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLQ0KLSAgdmFyIGFyciA9
IFswLDEsMiwzLDQsNSw2LDcsOCw5XTsNCi0gIA0KLSAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4p
ID09PSBmYWxzZSAmJiBjYWxsQ250ID09PSA3KSANCi0gICAgcmV0dXJuIHRydWU7DQotDQotDQot
IH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5F
eGlzdHMoQXJyYXkucHJvdG90eXBlLmV2ZXJ5KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxNS40LjQuMTYtNy1jLWlpLTMiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paS0zLmpzIiwKKworZGVzY3JpcHRp
b246ICJBcnJheS5wcm90b3R5cGUuZXZlcnkgaW1tZWRpYXRlbHkgcmV0dXJucyBmYWxzZSBpZiBj
YWxsYmFja2ZuIHJldHVybnMgZmFsc2UiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsg
CisgCisgIHZhciBjYWxsQ250ID0gMDsKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwg
b2JqKQorICB7CisgICAgY2FsbENudCsrOworICAgIGlmKGlkeCA+IDUpICAgCisgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIGVsc2UKKyAgICAgICByZXR1cm4gdHJ1ZTsKKyAgfQorCisgIHZhciBh
cnIgPSBbMCwxLDIsMyw0LDUsNiw3LDgsOV07CisgIAorICBpZihhcnIuZXZlcnkoY2FsbGJhY2tm
bikgPT09IGZhbHNlICYmIGNhbGxDbnQgPT09IDcpIAorICAgIHJldHVybiB0cnVlOworCisKKyB9
LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3Rz
KEFycmF5LnByb3RvdHlwZS5ldmVyeSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTct
Yy1paS0zLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIwor
TEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi04LTEuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNi04LTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtOC0xLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDQwICsxLDQwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0v
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDog
IjE1LjQuNC4xNi04LTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUu
NC40LzE1LjQuNC4xNi8xNS40LjQuMTYtOC0xLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5ldmVyeSByZXR1cm5zIHRydWUgaWYgJ2xlbmd0aCcgaXMgMCAoZW1wdHkgYXJy
YXkpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGZ1bmN0aW9uIGNiKCkg
e30NCi0gIHZhciBpID0gW10uZXZlcnkoY2IpOw0KLSAgaWYgKGkgPT09IHRydWUpIHsNCi0gICAg
cmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmV2ZXJ5KTsNCi0gfQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTYtOC0xIiwKKworcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTEuanMiLAor
CitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5ldmVyeSByZXR1cm5zIHRydWUgaWYgJ2xl
bmd0aCcgaXMgMCAoZW1wdHkgYXJyYXkpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
CisgIGZ1bmN0aW9uIGNiKCkge30KKyAgdmFyIGkgPSBbXS5ldmVyeShjYik7CisgIGlmIChpID09
PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5ldmVy
eSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTgtMS5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTYtOC0xMC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTgtMTAuanMJKHJldmlzaW9uIDE5
OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTYtOC0xMC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1MiArMSw1MiBAQAotLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYN
Ci0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0K
LUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTYtOC0xMCIsDQotDQot
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4x
Ni04LTEwLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHN1
YmNsYXNzZWQgYXJyYXkgd2hlbiBsZW5ndGggaXMgcmVkdWNlZCIsDQotDQotdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7DQotICBmb28ucHJvdG90eXBlID0gWzEsIDIsIDNdOw0KLSAgZnVuY3Rp
b24gZm9vKCkge30NCi0gIHZhciBmID0gbmV3IGZvbygpOw0KLSAgZi5sZW5ndGggPSAyOw0KLSAg
DQotICBmdW5jdGlvbiBjYih2YWwsIGlkeCkNCi0gIHsNCi0gICAgaWYoaWR4PjEpDQotICAgICAg
cmV0dXJuIGZhbHNlOw0KLSAgICBlbHNlDQotICAgICAgcmV0dXJuIHRydWU7ICAgIA0KLSAgfQ0K
LSAgdmFyIGkgPSBmLmV2ZXJ5KGNiKTsNCi0gIA0KLSAgaWYgKGkgPT09IHRydWUpIHsNCi0gICAg
cmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmV2ZXJ5KTsNCi0gfQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTYtOC0xMCIsCisKK3BhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNi8xNS40LjQuMTYtOC0xMC5qcyIs
CisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gc3ViY2xhc3NlZCBhcnJh
eSB3aGVuIGxlbmd0aCBpcyByZWR1Y2VkIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
CisgIGZvby5wcm90b3R5cGUgPSBbMSwgMiwgM107CisgIGZ1bmN0aW9uIGZvbygpIHt9CisgIHZh
ciBmID0gbmV3IGZvbygpOworICBmLmxlbmd0aCA9IDI7CisgIAorICBmdW5jdGlvbiBjYih2YWws
IGlkeCkKKyAgeworICAgIGlmKGlkeD4xKQorICAgICAgcmV0dXJuIGZhbHNlOworICAgIGVsc2UK
KyAgICAgIHJldHVybiB0cnVlOyAgICAKKyAgfQorICB2YXIgaSA9IGYuZXZlcnkoY2IpOworICAK
KyAgaWYgKGkgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJv
dG90eXBlLmV2ZXJ5KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtOC0xMC5qcwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtOC0xMS5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTgtMTEuanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTYtOC0xMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NyArMSw0
NyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8v
IA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQot
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0v
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0K
LS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTYt
OC0xMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40
LjE2LzE1LjQuNC4xNi04LTExLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlw
ZS5ldmVyeSByZXR1cm5zIHRydWUgd2hlbiBhbGwgY2FsbHMgdG8gY2FsbGJhY2tmbiByZXR1cm4g
dHJ1ZSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KLSANCi0gIHZhciBjYWxs
Q250ID0gMDsNCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCi0gIHsNCi0g
ICAgY2FsbENudCsrOw0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0NCi0gIHZhciBhcnIgPSBb
MCwxLDIsMyw0LDUsNiw3LDgsOV07DQotICANCi0gIGlmKGFyci5ldmVyeShjYWxsYmFja2ZuKSA9
PT0gdHJ1ZSAmJiBjYWxsQ250ID09PSAxMCkgDQotICAgIHJldHVybiB0cnVlOw0KLSB9LA0KLQ0K
LXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFy
cmF5LnByb3RvdHlwZS5ldmVyeSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MK
Ky8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUu
NC40LjE2LTgtMTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMTYvMTUuNC40LjE2LTgtMTEuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3Rv
dHlwZS5ldmVyeSByZXR1cm5zIHRydWUgd2hlbiBhbGwgY2FsbHMgdG8gY2FsbGJhY2tmbiByZXR1
cm4gdHJ1ZSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAKKyAKKyAgdmFyIGNhbGxD
bnQgPSAwOworICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopCisgIHsKKyAgICBj
YWxsQ250Kys7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKworICB2YXIgYXJyID0gWzAsMSwyLDMs
NCw1LDYsNyw4LDldOworICAKKyAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pID09PSB0cnVlICYm
IGNhbGxDbnQgPT09IDEwKSAKKyAgICByZXR1cm4gdHJ1ZTsKKyB9LAorCitwcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5l
dmVyeSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTgtMTEuanMKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE2LTgtMTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi04LTEyLmpzCShyZXZpc2lv
biAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE2LTgtMTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTEgKzEsNTEgQEAKLS8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE2LTgtMTIiLA0K
LQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNi8xNS40
LjQuMTYtOC0xMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZXZlcnkg
ZG9lc24ndCBtdXRhdGUgdGhlIGFycmF5IG9uIHdoaWNoIGl0IGlzIGNhbGxlZCBvbiIsDQotDQot
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZh
bCwgaWR4LCBvYmopDQotICB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSAgdmFyIGFyciA9
IFsxLDIsMyw0LDVdOw0KLSAgYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KLSAgaWYoYXJyWzBdID09
PSAxICYmDQotICAgICBhcnJbMV0gPT09IDIgJiYNCi0gICAgIGFyclsyXSA9PT0gMyAmJg0KLSAg
ICAgYXJyWzNdID09PSA0ICYmDQotICAgICBhcnJbNF0gPT09IDUpDQotICB7DQotICAgIHJldHVy
biB0cnVlOw0KLSAgfQ0KLQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5ldmVyeSk7DQotIH0NCi19
KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAK
Ky8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE2LTgtMTIiLAorCitwYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTgtMTIuanMiLAor
CitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5ldmVyeSBkb2Vzbid0IG11dGF0ZSB0aGUg
YXJyYXkgb24gd2hpY2ggaXQgaXMgY2FsbGVkIG9uIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7CisKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQorICB7CisgICAg
cmV0dXJuIHRydWU7CisgIH0KKyAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOworICBhcnIuZXZlcnko
Y2FsbGJhY2tmbik7CisgIGlmKGFyclswXSA9PT0gMSAmJgorICAgICBhcnJbMV0gPT09IDIgJiYK
KyAgICAgYXJyWzJdID09PSAzICYmCisgICAgIGFyclszXSA9PT0gNCAmJgorICAgICBhcnJbNF0g
PT09IDUpCisgIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorCisgfSwKKworcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUu
ZXZlcnkpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi04LTEyLmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNi04LTEzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtOC0xMy5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNi04LTEzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ5ICsxLDQ5IEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNi04LTEzIiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUu
NC40LjE2LTgtMTMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmV2ZXJ5
IGRvZXNuJ3QgdmlzaXQgZXhwYW5kb3MiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
eyANCi0gDQotICB2YXIgY2FsbENudCA9IDA7DQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwg
aWR4LCBvYmopDQotICB7DQotICAgIGNhbGxDbnQrKzsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9
DQotDQotICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOw0KLSAgYXJyWyJpIl0gPSAx
MDsNCi0gIGFyclt0cnVlXSA9IDExOw0KLSAgDQotICBpZihhcnIuZXZlcnkoY2FsbGJhY2tmbikg
PT09IHRydWUgJiYgY2FsbENudCA9PT0gMTApIA0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gfSwNCi0N
Ci1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhB
cnJheS5wcm90b3R5cGUuZXZlcnkpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
CisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1
LjQuNC4xNi04LTEzIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQv
MTUuNC40LjE2LzE1LjQuNC4xNi04LTEzLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90
b3R5cGUuZXZlcnkgZG9lc24ndCB2aXNpdCBleHBhbmRvcyIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeyAKKyAKKyAgdmFyIGNhbGxDbnQgPSAwOworICBmdW5jdGlvbiBjYWxsYmFja2Zu
KHZhbCwgaWR4LCBvYmopCisgIHsKKyAgICBjYWxsQ250Kys7CisgICAgcmV0dXJuIHRydWU7Cisg
IH0KKworICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOworICBhcnJbImkiXSA9IDEw
OworICBhcnJbdHJ1ZV0gPSAxMTsKKyAgCisgIGlmKGFyci5ldmVyeShjYWxsYmFja2ZuKSA9PT0g
dHJ1ZSAmJiBjYWxsQ250ID09PSAxMCkgCisgICAgcmV0dXJuIHRydWU7CisgfSwKKworcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90
b3R5cGUuZXZlcnkpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi04LTEzLmpzCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi04LTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi04LTIuanMJKHJl
dmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTYtOC0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ2ICsxLDQ2IEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
DQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNi04LTIi
LA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNi8x
NS40LjQuMTYtOC0yLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5ldmVy
eSByZXR1cm5zIHRydWUgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3Ro
IG92ZXJyaWRkZW4gdG8gbnVsbCAodHlwZSBjb252ZXJzaW9uKSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgew0KLSAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsN
Ci0gIGZ1bmN0aW9uIGZvbygpIHt9DQotICB2YXIgZiA9IG5ldyBmb28oKTsNCi0gIGYubGVuZ3Ro
ID0gbnVsbDsNCi0gIA0KLSAgZnVuY3Rpb24gY2IoKXt9DQotICB2YXIgaSA9IGYuZXZlcnkoY2Ip
Ow0KLSAgDQotICBpZiAoaSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0g
fSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4
aXN0cyhBcnJheS5wcm90b3R5cGUuZXZlcnkpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7Citp
ZDogIjE1LjQuNC4xNi04LTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1
LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTgtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXku
cHJvdG90eXBlLmV2ZXJ5IHJldHVybnMgdHJ1ZSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2Vk
IEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBudWxsICh0eXBlIGNvbnZlcnNpb24pKSIsCisK
K3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5
KDEsIDIsIDMpOworICBmdW5jdGlvbiBmb28oKSB7fQorICB2YXIgZiA9IG5ldyBmb28oKTsKKyAg
Zi5sZW5ndGggPSBudWxsOworICAKKyAgZnVuY3Rpb24gY2IoKXt9CisgIHZhciBpID0gZi5ldmVy
eShjYik7CisgIAorICBpZiAoaSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOworICB9Cisg
fSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0
cyhBcnJheS5wcm90b3R5cGUuZXZlcnkpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi04
LTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTgtMy5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2
LTgtMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi04LTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
NDYgKzEsNDYgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUu
NC40LjE2LTgtMyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQv
MTUuNC40LjE2LzE1LjQuNC4xNi04LTMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmV2ZXJ5IHJldHVybnMgdHJ1ZSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFy
cmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBmYWxzZSAodHlwZSBjb252ZXJzaW9uKSkiLA0KLQ0K
LXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJh
eSgxLCAyLCAzKTsNCi0gIGZ1bmN0aW9uIGZvbygpIHt9DQotICB2YXIgZiA9IG5ldyBmb28oKTsN
Ci0gIGYubGVuZ3RoID0gZmFsc2U7DQotDQotICBmdW5jdGlvbiBjYigpe30NCi0gIHZhciBpID0g
Zi5ldmVyeShjYik7DQotICANCi0gIGlmIChpID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVl
Ow0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAg
cmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5ldmVyeSk7DQotIH0NCi19KTsNCisvLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsKK2lkOiAiMTUuNC40LjE2LTgtMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNi8xNS40LjQuMTYtOC0zLmpzIiwKKworZGVzY3JpcHRp
b246ICJBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAg
KHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIGZhbHNlICh0eXBlIGNvbnZl
cnNpb24pKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBmb28ucHJvdG90eXBl
ID0gbmV3IEFycmF5KDEsIDIsIDMpOworICBmdW5jdGlvbiBmb28oKSB7fQorICB2YXIgZiA9IG5l
dyBmb28oKTsKKyAgZi5sZW5ndGggPSBmYWxzZTsKKworICBmdW5jdGlvbiBjYigpe30KKyAgdmFy
IGkgPSBmLmV2ZXJ5KGNiKTsKKyAgCisgIGlmIChpID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRy
dWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0
dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5ldmVyeSk7CisgfQorfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE2LTgtMy5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAg
KzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtOC00LmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTYtOC00LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTgtNC5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSw0NiArMSw0NiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
DQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQot
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
DQotaWQ6ICIxNS40LjQuMTYtOC00IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTgtNC5qcyIsDQotDQotZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKHN1
YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIDAgKHR5cGUgY29udmVyc2lvbikp
IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGZvby5wcm90b3R5cGUgPSBu
ZXcgQXJyYXkoMSwgMiwgMyk7DQotICBmdW5jdGlvbiBmb28oKSB7fQ0KLSAgdmFyIGYgPSBuZXcg
Zm9vKCk7DQotICBmLmxlbmd0aCA9IDA7DQotDQotICBmdW5jdGlvbiBjYigpe30NCi0gIHZhciBp
ID0gZi5ldmVyeShjYik7DQotICANCi0gIGlmIChpID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0
cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0K
LSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5ldmVyeSk7DQotIH0NCi19KTsNCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE2LTgtNCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNi8xNS40LjQuMTYtOC00LmpzIiwKKworZGVzY3Jp
cHRpb246ICJBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlz
IDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIDAgKHR5cGUgY29udmVy
c2lvbikpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZvby5wcm90b3R5cGUg
PSBuZXcgQXJyYXkoMSwgMiwgMyk7CisgIGZ1bmN0aW9uIGZvbygpIHt9CisgIHZhciBmID0gbmV3
IGZvbygpOworICBmLmxlbmd0aCA9IDA7CisKKyAgZnVuY3Rpb24gY2IoKXt9CisgIHZhciBpID0g
Zi5ldmVyeShjYik7CisgIAorICBpZiAoaSA9PT0gdHJ1ZSkgeworICAgIHJldHVybiB0cnVlOwor
ICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZXZlcnkpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNi04LTQuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTgtNS5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE2LTgtNS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi04LTUuanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsNDYgKzEsNDYgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0K
LS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlk
OiAiMTUuNC40LjE2LTgtNSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTUuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLmV2ZXJ5IHJldHVybnMgdHJ1ZSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFz
c2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAnMCcgKHR5cGUgY29udmVyc2lvbikpIiwN
Ci0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGZvby5wcm90b3R5cGUgPSBuZXcg
QXJyYXkoMSwgMiwgMyk7DQotICBmdW5jdGlvbiBmb28oKSB7fQ0KLSAgdmFyIGYgPSBuZXcgZm9v
KCk7DQotICBmLmxlbmd0aCA9ICcwJzsNCi0gIA0KLSAgZnVuY3Rpb24gY2IoKXt9DQotICB2YXIg
aSA9IGYuZXZlcnkoY2IpOw0KLSAgDQotICBpZiAoaSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4g
dHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsN
Ci0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZXZlcnkpOw0KLSB9DQotfSk7DQor
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xNi04LTUiLAorCitwYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTgtNS5qcyIsCisKK2Rlc2Ny
aXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmV2ZXJ5IHJldHVybnMgdHJ1ZSBpZiAnbGVuZ3RoJyBp
cyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAnMCcgKHR5cGUgY29u
dmVyc2lvbikpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZvby5wcm90b3R5
cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7CisgIGZ1bmN0aW9uIGZvbygpIHt9CisgIHZhciBmID0g
bmV3IGZvbygpOworICBmLmxlbmd0aCA9ICcwJzsKKyAgCisgIGZ1bmN0aW9uIGNiKCl7fQorICB2
YXIgaSA9IGYuZXZlcnkoY2IpOworICAKKyAgaWYgKGkgPT09IHRydWUpIHsKKyAgICByZXR1cm4g
dHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICBy
ZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmV2ZXJ5KTsKKyB9Cit9KTsKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTYtOC01LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi04LTYuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNi04LTYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtOC02LmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDQ4ICsxLDQ4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
Ci0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsNCi1pZDogIjE1LjQuNC4xNi04LTYiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4xNi8xNS40LjQuMTYtOC02LmpzIiwNCi0NCi1kZXNjcmlwdGlv
bjogIkFycmF5LnByb3RvdHlwZS5ldmVyeSByZXR1cm5zIHRydWUgaWYgJ2xlbmd0aCcgaXMgMCAo
c3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogd2l0aCB2YWx1ZU9m
KSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBmb28ucHJvdG90eXBlID0g
bmV3IEFycmF5KDEsIDIsIDMpOw0KLSAgZnVuY3Rpb24gZm9vKCkge30NCi0gIHZhciBmID0gbmV3
IGZvbygpOw0KLSAgDQotICB2YXIgbyA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4g
MDt9fTsNCi0gIGYubGVuZ3RoID0gbzsNCi0gIA0KLSAgZnVuY3Rpb24gY2IoKXt9DQotICB2YXIg
aSA9IGYuZXZlcnkoY2IpOw0KLSAgDQotICBpZiAoaSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4g
dHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsN
Ci0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZXZlcnkpOw0KLSB9DQotfSk7DQor
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xNi04LTYiLAorCitwYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTgtNi5qcyIsCisKK2Rlc2Ny
aXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmV2ZXJ5IHJldHVybnMgdHJ1ZSBpZiAnbGVuZ3RoJyBp
cyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3aXRoIHZh
bHVlT2YpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZvby5wcm90b3R5cGUg
PSBuZXcgQXJyYXkoMSwgMiwgMyk7CisgIGZ1bmN0aW9uIGZvbygpIHt9CisgIHZhciBmID0gbmV3
IGZvbygpOworICAKKyAgdmFyIG8gPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDA7
fX07CisgIGYubGVuZ3RoID0gbzsKKyAgCisgIGZ1bmN0aW9uIGNiKCl7fQorICB2YXIgaSA9IGYu
ZXZlcnkoY2IpOworICAKKyAgaWYgKGkgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAg
fQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5F
eGlzdHMoQXJyYXkucHJvdG90eXBlLmV2ZXJ5KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTYtOC02LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIwor
TEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNi04LTcuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNi04LTcuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtOC03LmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDUzICsxLDUzIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0v
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDog
IjE1LjQuNC4xNi04LTciLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUu
NC40LzE1LjQuNC4xNi8xNS40LjQuMTYtOC03LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5ldmVyeSByZXR1cm5zIHRydWUgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3Nl
ZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogdy9vIHZhbHVlT2YgKHRvU3RyaW5n
KSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgZm9vLnByb3RvdHlwZSA9
IG5ldyBBcnJheSgxLCAyLCAzKTsNCi0gIGZ1bmN0aW9uIGZvbygpIHt9DQotICB2YXIgZiA9IG5l
dyBmb28oKTsNCi0gIA0KLSAgdmFyIG8gPSB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVy
biAnMCc7fX07DQotICBmLmxlbmd0aCA9IG87DQotICANCi0gIC8vIG9iamVjdHMgaW5oZXJpdCB0
aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCi0gIC8vIHRo
YXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigp
IG1ldGhvZA0KLSAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0
IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KLSAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGlu
ZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQotICAvLyByZXN1bHRp
bmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KLSAgZnVuY3Rpb24gY2IoKXt9DQotICB2YXIgaSA9IGYu
ZXZlcnkoY2IpOw0KLSAgDQotICBpZiAoaSA9PT0gdHJ1ZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsN
Ci0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJl
dHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZXZlcnkpOw0KLSB9DQotfSk7DQorLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7CitpZDogIjE1LjQuNC4xNi04LTciLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTgtNy5qcyIsCisKK2Rlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLmV2ZXJ5IHJldHVybnMgdHJ1ZSBpZiAnbGVuZ3RoJyBpcyAwIChz
dWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3L28gdmFsdWVPZiAo
dG9TdHJpbmcpKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBmb28ucHJvdG90
eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOworICBmdW5jdGlvbiBmb28oKSB7fQorICB2YXIgZiA9
IG5ldyBmb28oKTsKKyAgCisgIHZhciBvID0geyB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1
cm4gJzAnO319OworICBmLmxlbmd0aCA9IG87CisgIAorICAvLyBvYmplY3RzIGluaGVyaXQgdGhl
IGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7CisgIC8vIHRoYXQg
c2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1l
dGhvZAorICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJp
ZXMgdG8gY29udmVydCB0aGUgb2JqZWN0CisgIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRz
IHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQorICAvLyByZXN1bHRpbmcgc3Ry
aW5nIHRvIGEgbnVtYmVyLgorICBmdW5jdGlvbiBjYigpe30KKyAgdmFyIGkgPSBmLmV2ZXJ5KGNi
KTsKKyAgCisgIGlmIChpID09PSB0cnVlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAor
CitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFy
cmF5LnByb3RvdHlwZS5ldmVyeSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTgtNy5q
cwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtOC04LmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTYtOC04
LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTgtOC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw2MSAr
MSw2MSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQot
Ly8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
DQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8N
Ci0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8v
IA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQu
MTYtOC04IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40
LjQuMTYvMTUuNC40LjE2LTgtOC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5
cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXks
IGxlbmd0aCBvdmVycmlkZGVuIHdpdGggW10iLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgew0KLSAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCi0gIGZ1bmN0aW9u
IGZvbygpIHt9DQotICB2YXIgZiA9IG5ldyBmb28oKTsNCi0gIA0KLSAgZi5sZW5ndGggPSBbXTsN
Ci0gIA0KLSAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9m
IHRoZSBPYmplY3Qgb2JqZWN0Ow0KLSAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxm
LiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQotICAvLyBkb2VzIG5vdCByZXR1
cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0
DQotICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQg
Y29udmVydGluZyB0aGUNCi0gIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQotICAv
Lw0KLSAgLy8gVGhlIHRvU3RyaW5nKCApIG1ldGhvZCBvbiBBcnJheSBjb252ZXJ0cyB0aGUgYXJy
YXkgZWxlbWVudHMgdG8gc3RyaW5ncywNCi0gIC8vIHRoZW4gcmV0dXJucyB0aGUgcmVzdWx0IG9m
IGNvbmNhdGVuYXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMgaW4NCi0gIC8vIGJldHdl
ZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmlu
Zywgd2hpY2gNCi0gIC8vIGNvbnZlcnRzIHRvIHRoZSBudW1iZXIgMC4gSWYgYW4gYXJyYXkgaGFz
IGEgc2luZ2xlIGVsZW1lbnQgdGhhdCBpcyBhDQotICAvLyBudW1iZXIgbiwgdGhlIGFycmF5IGNv
bnZlcnRzIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4sIHdoaWNoIGlzDQotICAvLyB0
aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3Jl
IHRoYW4gb25lIGVsZW1lbnQsDQotICAvLyBvciBpZiBpdHMgb25lIGVsZW1lbnQgaXMgbm90IGEg
bnVtYmVyLCB0aGUgYXJyYXkgY29udmVydHMgdG8gTmFOLg0KLQ0KLSAgZnVuY3Rpb24gY2IoKXt9
DQotICB2YXIgaSA9IGYuZXZlcnkoY2IpOw0KLSAgDQotICBpZiAoaSA9PT0gdHJ1ZSkgew0KLSAg
ICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZXZlcnkpOw0KLSB9
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xNi04LTgiLAorCitwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTgtOC5qcyIs
CisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmV2ZXJ5IHJldHVybnMgdHJ1ZSBpZiAn
bGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIFtd
IiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZvby5wcm90b3R5cGUgPSBuZXcg
QXJyYXkoMSwgMiwgMyk7CisgIGZ1bmN0aW9uIGZvbygpIHt9CisgIHZhciBmID0gbmV3IGZvbygp
OworICAKKyAgZi5sZW5ndGggPSBbXTsKKyAgCisgIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVm
YXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsKKyAgLy8gdGhhdCBzaW1w
bHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9k
CisgIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0
byBjb252ZXJ0IHRoZSBvYmplY3QKKyAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9T
dHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlCisgIC8vIHJlc3VsdGluZyBzdHJpbmcg
dG8gYSBudW1iZXIuCisgIC8vCisgIC8vIFRoZSB0b1N0cmluZyggKSBtZXRob2Qgb24gQXJyYXkg
Y29udmVydHMgdGhlIGFycmF5IGVsZW1lbnRzIHRvIHN0cmluZ3MsCisgIC8vIHRoZW4gcmV0dXJu
cyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMg
aW4KKyAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0
aGUgZW1wdHkgc3RyaW5nLCB3aGljaAorICAvLyBjb252ZXJ0cyB0byB0aGUgbnVtYmVyIDAuIElm
IGFuIGFycmF5IGhhcyBhIHNpbmdsZSBlbGVtZW50IHRoYXQgaXMgYQorICAvLyBudW1iZXIgbiwg
dGhlIGFycmF5IGNvbnZlcnRzIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4sIHdoaWNo
IGlzCisgIC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNv
bnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwKKyAgLy8gb3IgaWYgaXRzIG9uZSBlbGVtZW50
IGlzIG5vdCBhIG51bWJlciwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIE5hTi4KKworICBmdW5jdGlv
biBjYigpe30KKyAgdmFyIGkgPSBmLmV2ZXJ5KGNiKTsKKyAgCisgIGlmIChpID09PSB0cnVlKSB7
CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5ldmVyeSk7CisgfQor
fSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE2LTgtOC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTctMC0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctMC0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTAt
MS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzNiArMSwzNiBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTctMC0xIiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTAtMS5qcyIs
DQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSBtdXN0IGV4aXN0IGFzIGEg
ZnVuY3Rpb24iLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIGYgPSBB
cnJheS5wcm90b3R5cGUuc29tZTsNCi0gIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsN
Ci0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6
ICIxNS40LjQuMTctMC0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40
LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0wLTEuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnBy
b3RvdHlwZS5zb21lIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiIsCisKK3Rlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworICB2YXIgZiA9IEFycmF5LnByb3RvdHlwZS5zb21lOworICBpZiAodHlw
ZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9Cit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTctMC0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
Ny0wLTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNy0wLTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctMC0yLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotDQotRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNy0wLTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMC0yLmpzIiwNCi0N
Ci1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lLmxlbmd0aCBtdXN0IGJlIDEiLA0K
LQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgaWYgKEFycmF5LnByb3RvdHlwZS5z
b21lLmxlbmd0aCA9PT0gMSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1w
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJh
eS5wcm90b3R5cGUuc29tZSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40
LjQuMTctMC0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjE3LzE1LjQuNC4xNy0wLTIuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlw
ZS5zb21lLmxlbmd0aCBtdXN0IGJlIDEiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsK
KyAgaWYgKEFycmF5LnByb3RvdHlwZS5zb21lLmxlbmd0aCA9PT0gMSkgeworICAgIHJldHVybiB0
cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJl
dHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CisgfQorfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE3LTAtMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAg
KzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNC0xLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTctNC0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTQtMS5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSw0NSArMSw0NSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
DQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQot
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
DQotaWQ6ICIxNS40LjQuMTctNC0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTQtMS5qcyIsDQotDQotZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMg
dW5kZWZpbmVkIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gIHZhciBh
cnIgPSBuZXcgQXJyYXkoMTApOw0KLSAgdHJ5IHsNCi0gICAgYXJyLnNvbWUoKTsgICAgDQotICB9
DQotICBjYXRjaChlKSB7DQotICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQotICAgICAg
cmV0dXJuIHRydWU7ICANCi0gIH0NCi0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7DQot
IH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAK
Ky8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
CisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYK
Ky8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE3LTQtMSIsCisKK3BhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNC0xLmpz
IiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgVHlwZUVycm9y
IGlmIGNhbGxiYWNrZm4gaXMgdW5kZWZpbmVkIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7CisKKyAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7CisgIHRyeSB7CisgICAgYXJyLnNvbWUo
KTsgICAgCisgIH0KKyAgY2F0Y2goZSkgeworICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3Ip
CisgICAgICByZXR1cm4gdHJ1ZTsgIAorICB9CisKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsK
KyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNC0xLmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNy00LTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy00LTIuanMJKHJldmlzaW9uIDE5OTU0OSkK
KysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTctNC0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ1ICsxLDQ1IEBACi0vLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0v
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNy00LTIiLA0KLQ0KLXBhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNC0yLmpz
IiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIHRocm93cyBSZWZlcmVu
Y2VFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHVucmVmZXJlbmNlZCIsDQotDQotdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7DQotDQotICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCi0gIHRyeSB7
DQotICAgIGFyci5zb21lKGZvbyk7ICAgIA0KLSAgfQ0KLSAgY2F0Y2goZSkgew0KLSAgICBpZihl
IGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpDQotICAgICAgcmV0dXJuIHRydWU7ICANCi0gIH0N
Ci0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVy
biBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTUuNC40LjE3LTQtMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNC0yLmpzIiwKKworZGVzY3JpcHRpb246ICJB
cnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgUmVmZXJlbmNlRXJyb3IgaWYgY2FsbGJhY2tmbiBp
cyB1bnJlZmVyZW5jZWQiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICB2YXIg
YXJyID0gbmV3IEFycmF5KDEwKTsKKyAgdHJ5IHsKKyAgICBhcnIuc29tZShmb28pOyAgICAKKyAg
fQorICBjYXRjaChlKSB7CisgICAgaWYoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKQorICAg
ICAgcmV0dXJuIHRydWU7ICAKKyAgfQorCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CisgfQor
fSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTQtMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTctNC0zLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNC0zLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTQt
My5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NSArMSw0NSBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTctNC0zIiwNCi0NCi1wYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTQtMy5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgVHlwZUVycm9yIGlm
IGNhbGxiYWNrZm4gaXMgbnVsbCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQot
DQotICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCi0gIHRyeSB7DQotICAgIGFyci5zb21lKG51
bGwpOyAgICANCi0gIH0NCi0gIGNhdGNoKGUpIHsNCi0gICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVF
cnJvcikNCi0gICAgICByZXR1cm4gdHJ1ZTsgIA0KLSAgfQ0KLQ0KLSB9LA0KLQ0KLXByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3Rv
dHlwZS5zb21lKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTctNC0z
IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1
LjQuNC4xNy00LTMuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIHRo
cm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudWxsIiwKKwordGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7CisKKyAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7CisgIHRyeSB7CisgICAg
YXJyLnNvbWUobnVsbCk7ICAgIAorICB9CisgIGNhdGNoKGUpIHsKKyAgICBpZihlIGluc3RhbmNl
b2YgVHlwZUVycm9yKQorICAgICAgcmV0dXJuIHRydWU7ICAKKyAgfQorCisgfSwKKworcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90
b3R5cGUuc29tZSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTQtMy5qcwpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNC00LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNC00LmpzCShyZXZp
c2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE3LTQtNC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NSArMSw0NSBAQAot
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0K
LQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTctNC00IiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUu
NC40LjE3LTQtNC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSB0
aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgYm9vbGVhbiIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCi0gIHRy
eSB7DQotICAgIGFyci5zb21lKHRydWUpOyAgICANCi0gIH0NCi0gIGNhdGNoKGUpIHsNCi0gICAg
aWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCi0gICAgICByZXR1cm4gdHJ1ZTsgIA0KLSAgfQ0K
LQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJu
IGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
eworaWQ6ICIxNS40LjQuMTctNC00IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTQuanMiLAorCitkZXNjcmlwdGlvbjogIkFy
cmF5LnByb3RvdHlwZS5zb21lIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBib29s
ZWFuIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgdmFyIGFyciA9IG5ldyBB
cnJheSgxMCk7CisgIHRyeSB7CisgICAgYXJyLnNvbWUodHJ1ZSk7ICAgIAorICB9CisgIGNhdGNo
KGUpIHsKKyAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQorICAgICAgcmV0dXJuIHRydWU7
ICAKKyAgfQorCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJl
dHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CisgfQorfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE3LTQtNC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAg
KzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNC01LmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTctNC01LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTQtNS5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSw0NSArMSw0NSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
DQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQot
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
DQotaWQ6ICIxNS40LjQuMTctNC01IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTQtNS5qcyIsDQotDQotZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMg
bnVtYmVyIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gIHZhciBhcnIg
PSBuZXcgQXJyYXkoMTApOw0KLSAgdHJ5IHsNCi0gICAgYXJyLnNvbWUoNSk7ICAgIA0KLSAgfQ0K
LSAgY2F0Y2goZSkgew0KLSAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KLSAgICAgIHJl
dHVybiB0cnVlOyAgDQotICB9DQotDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOw0KLSB9
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xNy00LTUiLAorCitwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTQtNS5qcyIs
CisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgdGhyb3dzIFR5cGVFcnJvciBp
ZiBjYWxsYmFja2ZuIGlzIG51bWJlciIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewor
CisgIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOworICB0cnkgeworICAgIGFyci5zb21lKDUpOyAg
ICAKKyAgfQorICBjYXRjaChlKSB7CisgICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikKKyAg
ICAgIHJldHVybiB0cnVlOyAgCisgIH0KKworIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOworIH0K
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy00LTUuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE3LTQtNi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTQtNi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy00
LTYuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE3LTQtNiIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTYuanMiLA0K
LQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgdGhyb3dzIFR5cGVFcnJvciBp
ZiBjYWxsYmFja2ZuIGlzIHN0cmluZyIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
DQotDQotICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCi0gIHRyeSB7DQotICAgIGFyci5zb21l
KCJhYmMiKTsgICAgDQotICB9DQotICBjYXRjaChlKSB7DQotICAgIGlmKGUgaW5zdGFuY2VvZiBU
eXBlRXJyb3IpDQotICAgICAgcmV0dXJuIHRydWU7ICANCi0gIH0NCi0NCi0gfSwNCi0NCi1wcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5w
cm90b3R5cGUuc29tZSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisv
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE3
LTQtNiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4x
Ny8xNS40LjQuMTctNC02LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29t
ZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgc3RyaW5nIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7CisgIHRyeSB7
CisgICAgYXJyLnNvbWUoImFiYyIpOyAgICAKKyAgfQorICBjYXRjaChlKSB7CisgICAgaWYoZSBp
bnN0YW5jZW9mIFR5cGVFcnJvcikKKyAgICAgIHJldHVybiB0cnVlOyAgCisgIH0KKworIH0sCisK
K3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJy
YXkucHJvdG90eXBlLnNvbWUpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy00LTYuanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTQtNy5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTQtNy5q
cwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNy00LTcuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDUgKzEs
NDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8v
LyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0K
LS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQot
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyAN
Ci0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE3
LTQtNyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40
LjE3LzE1LjQuNC4xNy00LTcuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBl
LnNvbWUgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIE9iamVjdCB3aXRob3V0aCBD
YWxsIGludGVybmFsIG1ldGhvZCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQot
DQotICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCi0gIHRyeSB7DQotICAgIGFyci5zb21lKG5l
dyBPYmplY3QoKSk7ICAgIA0KLSAgfQ0KLSAgY2F0Y2goZSkgew0KLSAgICBpZihlIGluc3RhbmNl
b2YgVHlwZUVycm9yKQ0KLSAgICAgIHJldHVybiB0cnVlOyAgDQotICB9DQotDQotIH0sDQotDQot
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJy
YXkucHJvdG90eXBlLnNvbWUpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisv
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQu
NC4xNy00LTciLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40
LjQuMTcvMTUuNC40LjE3LTQtNy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBl
LnNvbWUgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIE9iamVjdCB3aXRob3V0aCBD
YWxsIGludGVybmFsIG1ldGhvZCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisg
IHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOworICB0cnkgeworICAgIGFyci5zb21lKG5ldyBPYmpl
Y3QoKSk7ICAgIAorICB9CisgIGNhdGNoKGUpIHsKKyAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVy
cm9yKQorICAgICAgcmV0dXJuIHRydWU7ICAKKyAgfQorCisgfSwKKworcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29t
ZSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTQtNy5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTctNC04LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNC04LmpzCShyZXZpc2lvbiAxOTk1
NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE3LTQtOC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NSArMSw0NSBAQAotLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
DQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0v
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTctNC04IiwNCi0NCi1wYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTQt
OC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgVHlw
ZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgb2JqZWN0IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsNCi0NCi0gIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KLSAgdHJ5IHsNCi0gICAg
YXJyLnNvbWUoe30pOyAgICANCi0gIH0NCi0gIGNhdGNoKGUpIHsNCi0gICAgaWYoZSBpbnN0YW5j
ZW9mIFR5cGVFcnJvcikNCi0gICAgICByZXR1cm4gdHJ1ZTsgIA0KLSAgfQ0KLQ0KLSB9LA0KLQ0K
LXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFy
cmF5LnByb3RvdHlwZS5zb21lKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwor
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40
LjQuMTctNC04IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjE3LzE1LjQuNC4xNy00LTguanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlw
ZS5zb21lIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBvYmplY3QiLAorCit0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsKKyAg
dHJ5IHsKKyAgICBhcnIuc29tZSh7fSk7ICAgIAorICB9CisgIGNhdGNoKGUpIHsKKyAgICBpZihl
IGluc3RhbmNlb2YgVHlwZUVycm9yKQorICAgICAgcmV0dXJuIHRydWU7ICAKKyAgfQorCisgfSwK
KworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhB
cnJheS5wcm90b3R5cGUuc29tZSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTQtOC5q
cwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNC05LmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNC05
LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTQtOS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw2MCAr
MSw2MCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQot
Ly8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
DQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8N
Ci0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8v
IA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIA0KLQ0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40
LjQuMTctNC05IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMTcvMTUuNC40LjE3LTQtOS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90
b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJy
YXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggWzBdIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsNCi0gIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQotICBmdW5j
dGlvbiBmb28oKSB7fQ0KLSAgdmFyIGYgPSBuZXcgZm9vKCk7DQotICANCi0gIGYubGVuZ3RoID0g
WzBdOw0KLSAgDQotICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRo
b2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQotICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBp
dHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCi0gIC8vIGRvZXMgbm90
IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBv
YmplY3QNCi0gIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9k
IGFuZCBjb252ZXJ0aW5nIHRoZQ0KLSAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4N
Ci0gIC8vDQotICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRo
ZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KLSAgLy8gdGhlbiByZXR1cm5zIHRoZSByZXN1
bHQgb2YgY29uY2F0ZW5hdGluZyB0aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbg0KLSAgLy8g
YmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkg
c3RyaW5nLCB3aGljaA0KLSAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJh
eSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCi0gIC8vIG51bWJlciBuLCB0aGUgYXJy
YXkgY29udmVydHMgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2ggaXMNCi0g
IC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5z
IG1vcmUgdGhhbiBvbmUgZWxlbWVudCwNCi0gIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBu
b3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQotDQotICBmdW5jdGlvbiBj
YigpeyByZXR1cm4gdHJ1ZX0NCi0gIHZhciBpID0gZi5zb21lKGNiKTsNCi0gIA0KLSAgcmV0dXJu
ICFpDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOw0KLSB9DQotfSk7DQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKK2lkOiAiMTUuNC40LjE3LTQtOSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNC05LmpzIiwKKworZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1
YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggWzBdIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7
CisgIGZ1bmN0aW9uIGZvbygpIHt9CisgIHZhciBmID0gbmV3IGZvbygpOworICAKKyAgZi5sZW5n
dGggPSBbMF07CisgIAorICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBt
ZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7CisgIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhl
IGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZAorICAvLyBkb2VzIG5v
dCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUg
b2JqZWN0CisgIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9k
IGFuZCBjb252ZXJ0aW5nIHRoZQorICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLgor
ICAvLworICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBh
cnJheSBlbGVtZW50cyB0byBzdHJpbmdzLAorICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBv
ZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluCisgIC8vIGJldHdl
ZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmlu
Zywgd2hpY2gKKyAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMg
YSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGEKKyAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252
ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcworICAvLyB0aGVu
IGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRo
YW4gb25lIGVsZW1lbnQsCisgIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1i
ZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uCisKKyAgZnVuY3Rpb24gY2IoKXsgcmV0dXJu
IHRydWV9CisgIHZhciBpID0gZi5zb21lKGNiKTsKKyAgCisgIHJldHVybiAhaQorIH0sCisKK3By
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLnNvbWUpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy00LTkuanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTUtMS5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTUtMS5qcwko
cmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNy01LTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDQgKzEsNDQg
QEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyAN
Ci0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0v
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE3LTUt
MSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3
LzE1LjQuNC4xNy01LTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNv
bWUgLSB0aGlzQXJnIG5vdCBwYXNzZWQiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
ew0KLSAgdmFyIGlubmVyVGhpc0NvcnJlY3QgPSBmYWxzZTsNCi0gIA0KLSAgZnVuY3Rpb24gY2Fs
bGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KLSAgew0KLSAgICBpbm5lclRoaXNDb3JyZWN0ID0gdGhp
cz09PWZuR2xvYmFsT2JqZWN0KCk7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSAgWzFdLnNv
bWUoY2FsbGJhY2tmbik7DQotICByZXR1cm4gaW5uZXJUaGlzQ29ycmVjdDsgICAgDQotIH0sDQot
DQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMo
QXJyYXkucHJvdG90eXBlLnNvbWUpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
CisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1
LjQuNC4xNy01LTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMTcvMTUuNC40LjE3LTUtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90
eXBlLnNvbWUgLSB0aGlzQXJnIG5vdCBwYXNzZWQiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKyAgdmFyIGlubmVyVGhpc0NvcnJlY3QgPSBmYWxzZTsKKyAgCisgIGZ1bmN0aW9uIGNh
bGxiYWNrZm4odmFsLCBpZHgsIG9iaikKKyAgeworICAgIGlubmVyVGhpc0NvcnJlY3QgPSB0aGlz
PT09Zm5HbG9iYWxPYmplY3QoKTsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorICBbMV0uc29tZShj
YWxsYmFja2ZuKTsKKyAgcmV0dXJuIGlubmVyVGhpc0NvcnJlY3Q7ICAgIAorIH0sCisKK3ByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJv
dG90eXBlLnNvbWUpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy01LTEuanMKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTUtMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTUtMi5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNy01LTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDcgKzEsNDcgQEAK
LS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0v
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAN
Ci0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE3LTUtMiIs
DQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1
LjQuNC4xNy01LTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUg
LSB0aGlzQXJnIGlzIE9iamVjdCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQot
ICB2YXIgcmVzID0gZmFsc2U7DQotICB2YXIgbyA9IG5ldyBPYmplY3QoKTsNCi0gIG8ucmVzID0g
dHJ1ZTsNCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCi0gIHsNCi0gICAg
cmV0dXJuIHRoaXMucmVzOw0KLSAgfQ0KLQ0KLSAgdmFyIGFyciA9IFsxXTsNCi0gIGlmKGFyci5z
b21lKGNhbGxiYWNrZm4sIG8pID09PSB0cnVlKQ0KLSAgICByZXR1cm4gdHJ1ZTsgICAgDQotDQot
IH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5F
eGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7Citp
ZDogIjE1LjQuNC4xNy01LTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1
LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXku
cHJvdG90eXBlLnNvbWUgLSB0aGlzQXJnIGlzIE9iamVjdCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeworICB2YXIgcmVzID0gZmFsc2U7CisgIHZhciBvID0gbmV3IE9iamVjdCgpOwor
ICBvLnJlcyA9IHRydWU7CisgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikKKyAg
eworICAgIHJldHVybiB0aGlzLnJlczsKKyAgfQorCisgIHZhciBhcnIgPSBbMV07CisgIGlmKGFy
ci5zb21lKGNhbGxiYWNrZm4sIG8pID09PSB0cnVlKQorICAgIHJldHVybiB0cnVlOyAgICAKKwor
IH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy01
LTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTUtMy5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3
LTUtMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy01LTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
NDggKzEsNDggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUu
NC40LjE3LTUtMyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQv
MTUuNC40LjE3LzE1LjQuNC4xNy01LTMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLnNvbWUgLSB0aGlzQXJnIGlzIEFycmF5IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsNCi0gIHZhciByZXMgPSBmYWxzZTsNCi0gIHZhciBhID0gbmV3IEFycmF5KCk7DQot
ICBhLnJlcyA9IHRydWU7DQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQot
ICB7DQotICAgIHJldHVybiB0aGlzLnJlczsNCi0gIH0NCi0NCi0gIHZhciBhcnIgPSBbMV07DQot
DQotICBpZihhcnIuc29tZShjYWxsYmFja2ZuLCBhKSA9PT0gdHJ1ZSkNCi0gICAgcmV0dXJuIHRy
dWU7ICAgIA0KLQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0K
LSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsNCi0gfQ0KLX0pOw0KKy8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTctNS0zIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTMuanMiLAorCitkZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gdGhpc0FyZyBpcyBBcnJheSIsCisKK3Rlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgcmVzID0gZmFsc2U7CisgIHZhciBhID0gbmV3
IEFycmF5KCk7CisgIGEucmVzID0gdHJ1ZTsKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlk
eCwgb2JqKQorICB7CisgICAgcmV0dXJuIHRoaXMucmVzOworICB9CisKKyAgdmFyIGFyciA9IFsx
XTsKKworICBpZihhcnIuc29tZShjYWxsYmFja2ZuLCBhKSA9PT0gdHJ1ZSkKKyAgICByZXR1cm4g
dHJ1ZTsgICAgCisKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAg
cmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKKyB9Cit9KTsKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTctNS0zLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy01LTQuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNy01LTQuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNS00LmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDQ5ICsxLDQ5IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
Ci0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsNCi1pZDogIjE1LjQuNC4xNy01LTQiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNS00LmpzIiwNCi0NCi1kZXNjcmlwdGlv
bjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gdGhpc0FyZyBpcyBvYmplY3QgZnJvbSBvYmplY3Qg
dGVtcGxhdGUocHJvdG90eXBlKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQot
ICB2YXIgcmVzID0gZmFsc2U7DQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmop
DQotICB7DQotICAgIHJldHVybiB0aGlzLnJlczsNCi0gIH0NCi0gIA0KLSAgZnVuY3Rpb24gZm9v
KCl7fQ0KLSAgZm9vLnByb3RvdHlwZS5yZXMgPSB0cnVlOw0KLSAgdmFyIGYgPSBuZXcgZm9vKCk7
DQotICB2YXIgYXJyID0gWzFdOw0KLQ0KLSAgICBpZihhcnIuc29tZShjYWxsYmFja2ZuLGYpID09
PSB0cnVlKQ0KLSAgICAgIHJldHVybiB0cnVlOyAgICANCi0NCi0gfSwNCi0NCi1wcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUuc29tZSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE3LTUtNCIs
CisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40
LjQuMTctNS00LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHRo
aXNBcmcgaXMgb2JqZWN0IGZyb20gb2JqZWN0IHRlbXBsYXRlKHByb3RvdHlwZSkiLAorCit0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIHJlcyA9IGZhbHNlOworICBmdW5jdGlvbiBj
YWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopCisgIHsKKyAgICByZXR1cm4gdGhpcy5yZXM7CisgIH0K
KyAgCisgIGZ1bmN0aW9uIGZvbygpe30KKyAgZm9vLnByb3RvdHlwZS5yZXMgPSB0cnVlOworICB2
YXIgZiA9IG5ldyBmb28oKTsKKyAgdmFyIGFyciA9IFsxXTsKKworICAgIGlmKGFyci5zb21lKGNh
bGxiYWNrZm4sZikgPT09IHRydWUpCisgICAgICByZXR1cm4gdHJ1ZTsgICAgCisKKyB9LAorCitw
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5
LnByb3RvdHlwZS5zb21lKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNS00LmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy01LTUuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy01LTUuanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTctNS01LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ5ICsxLDQ5
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNy01
LTUiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4x
Ny8xNS40LjQuMTctNS01LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5z
b21lIC0gdGhpc0FyZyBpcyBvYmplY3QgZnJvbSBvYmplY3QgdGVtcGxhdGUiLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIHJlcyA9IGZhbHNlOw0KLSAgZnVuY3Rpb24g
Y2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KLSAgew0KLSAgICByZXR1cm4gdGhpcy5yZXM7DQot
ICB9DQotDQotICBmdW5jdGlvbiBmb28oKXt9DQotICB2YXIgZiA9IG5ldyBmb28oKTsNCi0gIGYu
cmVzID0gdHJ1ZTsNCi0gIHZhciBhcnIgPSBbMV07DQotDQotICBpZihhcnIuc29tZShjYWxsYmFj
a2ZuLGYpID09PSB0cnVlKQ0KLSAgICByZXR1cm4gdHJ1ZTsgICAgDQotDQotIH0sDQotDQotcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLnNvbWUpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4x
Ny01LTUiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQu
MTcvMTUuNC40LjE3LTUtNS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNv
bWUgLSB0aGlzQXJnIGlzIG9iamVjdCBmcm9tIG9iamVjdCB0ZW1wbGF0ZSIsCisKK3Rlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgcmVzID0gZmFsc2U7CisgIGZ1bmN0aW9uIGNhbGxi
YWNrZm4odmFsLCBpZHgsIG9iaikKKyAgeworICAgIHJldHVybiB0aGlzLnJlczsKKyAgfQorCisg
IGZ1bmN0aW9uIGZvbygpe30KKyAgdmFyIGYgPSBuZXcgZm9vKCk7CisgIGYucmVzID0gdHJ1ZTsK
KyAgdmFyIGFyciA9IFsxXTsKKworICBpZihhcnIuc29tZShjYWxsYmFja2ZuLGYpID09PSB0cnVl
KQorICAgIHJldHVybiB0cnVlOyAgICAKKworIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOworIH0K
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy01LTUuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE3LTUtNi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTUtNi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy01
LTYuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDggKzEsNDggQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE3LTUtNiIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTYuanMiLA0K
LQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGlzQXJnIGlzIGZ1bmN0
aW9uIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciByZXMgPSBmYWxz
ZTsNCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCi0gIHsNCi0gICAgcmV0
dXJuIHRoaXMucmVzOw0KLSAgfQ0KLQ0KLSAgZnVuY3Rpb24gZm9vKCl7fQ0KLSAgZm9vLnJlcyA9
IHRydWU7DQotICB2YXIgYXJyID0gWzFdOw0KLQ0KLSAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbixm
b28pID09PSB0cnVlKQ0KLSAgICByZXR1cm4gdHJ1ZTsgICAgDQotDQotIH0sDQotDQotcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJv
dG90eXBlLnNvbWUpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xNy01
LTYiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcv
MTUuNC40LjE3LTUtNi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUg
LSB0aGlzQXJnIGlzIGZ1bmN0aW9uIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7Cisg
IHZhciByZXMgPSBmYWxzZTsKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQor
ICB7CisgICAgcmV0dXJuIHRoaXMucmVzOworICB9CisKKyAgZnVuY3Rpb24gZm9vKCl7fQorICBm
b28ucmVzID0gdHJ1ZTsKKyAgdmFyIGFyciA9IFsxXTsKKworICBpZihhcnIuc29tZShjYWxsYmFj
a2ZuLGZvbykgPT09IHRydWUpCisgICAgcmV0dXJuIHRydWU7ICAgIAorCisgfSwKKworcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90
b3R5cGUuc29tZSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTUtNi5qcwpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNy0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNy0xLmpzCShyZXZp
c2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE3LTctMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0OCArMSw0OCBAQAot
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0K
LQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTctNy0xIiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUu
NC40LjE3LTctMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSBk
b2Vzbid0IGNvbnNpZGVyIG5ldyBlbGVtZW50cyBhZGRlZCB0byBhcnJheSBhZnRlciBpdCBpcyBj
YWxsZWQiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCi0gDQotICB2YXIgbGFz
dEluZGV4VmlzaXRlZD0tMTsgDQotIA0KLSAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwg
b2JqKQ0KLSAgew0KLSAgICBpZiAoaWR4PT09MCkgb2JqWzEwXSA9IDEwOw0KLSAgICBsYXN0SW5k
ZXhWaXNpdGVkPWlkeDsNCi0gICAgcmV0dXJuIGZhbHNlDQotICB9DQotICANCi0gIFswLDFdLnNv
bWUoY2FsbGJhY2tmbik7DQotICByZXR1cm4gbGFzdEluZGV4VmlzaXRlZCA9PT0gMTsgIA0KLSAg
DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4g
Zm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
CitpZDogIjE1LjQuNC4xNy03LTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40
LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLnNvbWUgZG9lc24ndCBjb25zaWRlciBuZXcgZWxlbWVudHMgYWRkZWQgdG8g
YXJyYXkgYWZ0ZXIgaXQgaXMgY2FsbGVkIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
IAorIAorICB2YXIgbGFzdEluZGV4VmlzaXRlZD0tMTsgCisgCisgIGZ1bmN0aW9uIGNhbGxiYWNr
Zm4odmFsLCBpZHgsIG9iaikKKyAgeworICAgIGlmIChpZHg9PT0wKSBvYmpbMTBdID0gMTA7Cisg
ICAgbGFzdEluZGV4VmlzaXRlZD1pZHg7CisgICAgcmV0dXJuIGZhbHNlCisgIH0KKyAgCisgIFsw
LDFdLnNvbWUoY2FsbGJhY2tmbik7CisgIHJldHVybiBsYXN0SW5kZXhWaXNpdGVkID09PSAxOyAg
CisgIAorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4g
Zm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNy03LTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTctMi5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE3LTctMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy03LTIuanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsNTAgKzEsNTAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0K
LS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlk
OiAiMTUuNC40LjE3LTctMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLnNvbWUgY29uc2lkZXJzIG5ldyB2YWx1ZSBvZiBlbGVtZW50cyBpbiBhcnJh
eSBhZnRlciBpdCBpcyBjYWxsZWQiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAN
Ci0gDQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQotICB7DQotICAgIGFy
cls0XSA9IDY7DQotICAgIGlmKHZhbCA8IDYpDQotICAgICAgcmV0dXJuIGZhbHNlOw0KLSAgICBl
bHNlIA0KLSAgICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLQ0KLSAgdmFyIGFyciA9IFsxLDIsMyw0
LDVdOw0KLSAgDQotICBpZihhcnIuc29tZShjYWxsYmFja2ZuKSA9PT0gdHJ1ZSkgICAgDQotICAg
IHJldHVybiB0cnVlOyAgDQotICANCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7DQotIH0N
Ci19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8v
LyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisv
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE3LTctMiIsCisKK3BhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy0yLmpzIiwK
KworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSBjb25zaWRlcnMgbmV3IHZhbHVl
IG9mIGVsZW1lbnRzIGluIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZCIsCisKK3Rlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgeyAKKyAKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2Jq
KQorICB7CisgICAgYXJyWzRdID0gNjsKKyAgICBpZih2YWwgPCA2KQorICAgICAgcmV0dXJuIGZh
bHNlOworICAgIGVsc2UgCisgICAgICByZXR1cm4gdHJ1ZTsKKyAgfQorCisgIHZhciBhcnIgPSBb
MSwyLDMsNCw1XTsKKyAgCisgIGlmKGFyci5zb21lKGNhbGxiYWNrZm4pID09PSB0cnVlKSAgICAK
KyAgICByZXR1cm4gdHJ1ZTsgIAorICAKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKKyB9Cit9
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNy0yLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNy03LTMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy03LTMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNy0z
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUwICsxLDUwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNy03LTMiLA0KLQ0KLXBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy0zLmpzIiwNCi0N
Ci1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIGRvZXNuJ3QgdmlzaXQgZGVsZXRl
ZCBlbGVtZW50cyBpbiBhcnJheSBhZnRlciBpdCBpcyBjYWxsZWQiLA0KLQ0KLXRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgeyANCi0gDQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBv
YmopDQotICB7DQotICAgIGRlbGV0ZSBhcnJbMl07DQotICAgIGlmKHZhbCAhPT0gMykNCi0gICAg
ICByZXR1cm4gZmFsc2U7DQotICAgIGVsc2UgDQotICAgICAgcmV0dXJuIHRydWU7DQotICB9DQot
DQotICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQotICANCi0gIGlmKGFyci5zb21lKGNhbGxiYWNr
Zm4pID09PSBmYWxzZSkgICAgDQotICAgIHJldHVybiB0cnVlOyAgDQotICANCi0gfSwNCi0NCi1w
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJh
eS5wcm90b3R5cGUuc29tZSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40
LjE3LTctMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQu
NC4xNy8xNS40LjQuMTctNy0zLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUu
c29tZSBkb2Vzbid0IHZpc2l0IGRlbGV0ZWQgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgaXQgaXMg
Y2FsbGVkIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAorIAorICBmdW5jdGlvbiBj
YWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopCisgIHsKKyAgICBkZWxldGUgYXJyWzJdOworICAgIGlm
KHZhbCAhPT0gMykKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICBlbHNlIAorICAgICAgcmV0dXJu
IHRydWU7CisgIH0KKworICB2YXIgYXJyID0gWzEsMiwzLDQsNV07CisgIAorICBpZihhcnIuc29t
ZShjYWxsYmFja2ZuKSA9PT0gZmFsc2UpICAgIAorICAgIHJldHVybiB0cnVlOyAgCisgIAorIH0s
CisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMo
QXJyYXkucHJvdG90eXBlLnNvbWUpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy03LTMu
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTctNC5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTct
NC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy03LTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDkg
KzEsNDkgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40
LjE3LTctNCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjE3LzE1LjQuNC4xNy03LTQuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90
eXBlLnNvbWUgZG9lc24ndCB2aXNpdCBkZWxldGVkIGVsZW1lbnRzIHdoZW4gQXJyYXkubGVuZ3Ro
IGlzIGRlY3JlYXNlZCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KLSANCi0g
IGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCi0gIHsNCi0gICAgYXJyLmxlbmd0
aCA9IDM7DQotICAgIGlmKHZhbCA8IDQpDQotICAgICAgcmV0dXJuIGZhbHNlOw0KLSAgICBlbHNl
IA0KLSAgICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSAgDQotICB2YXIgYXJyID0gWzEsMiwzLDQs
Nl07DQotICANCi0gIGlmKGFyci5zb21lKGNhbGxiYWNrZm4pID09PSBmYWxzZSkgICAgDQotICAg
IHJldHVybiB0cnVlOyAgICANCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7DQotIH0NCi19
KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAK
Ky8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE3LTctNCIsCisKK3BhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy00LmpzIiwKKwor
ZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSBkb2Vzbid0IHZpc2l0IGRlbGV0ZWQg
ZWxlbWVudHMgd2hlbiBBcnJheS5sZW5ndGggaXMgZGVjcmVhc2VkIiwKKwordGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7IAorIAorICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmop
CisgIHsKKyAgICBhcnIubGVuZ3RoID0gMzsKKyAgICBpZih2YWwgPCA0KQorICAgICAgcmV0dXJu
IGZhbHNlOworICAgIGVsc2UgCisgICAgICByZXR1cm4gdHJ1ZTsKKyAgfQorICAKKyAgdmFyIGFy
ciA9IFsxLDIsMyw0LDZdOworICAKKyAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbikgPT09IGZhbHNl
KSAgICAKKyAgICByZXR1cm4gdHJ1ZTsgICAgCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7Cisg
fQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTctNC5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTctNy01LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNy01LmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3
LTctNS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1MiArMSw1MiBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTctNy01IiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctNS5qcyIs
DQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSBkb2Vzbid0IGNvbnNpZGVy
IG5ld2x5IGFkZGVkIGVsZW1lbnRzIGluIHNwYXJzZSBhcnJheSIsDQotDQotdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7IA0KLSANCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9i
aikNCi0gIHsNCi0gICAgYXJyWzEwMDBdID0gNTsNCi0gICAgaWYodmFsIDwgNSkNCi0gICAgICBy
ZXR1cm4gZmFsc2U7DQotICAgIGVsc2UgDQotICAgICAgcmV0dXJuIHRydWU7DQotICB9DQotDQot
ICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCi0gIGFyclsxXSA9IDE7DQotICBhcnJbMl0gPSAy
Ow0KLSAgDQotICBpZihhcnIuc29tZShjYWxsYmFja2ZuKSA9PT0gZmFsc2UpICAgIA0KLSAgICBy
ZXR1cm4gdHJ1ZTsgIA0KLSANCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7DQotIH0NCi19
KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAK
Ky8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE3LTctNSIsCisKK3BhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy01LmpzIiwKKwor
ZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSBkb2Vzbid0IGNvbnNpZGVyIG5ld2x5
IGFkZGVkIGVsZW1lbnRzIGluIHNwYXJzZSBhcnJheSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgeyAKKyAKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQorICB7Cisg
ICAgYXJyWzEwMDBdID0gNTsKKyAgICBpZih2YWwgPCA1KQorICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIGVsc2UgCisgICAgICByZXR1cm4gdHJ1ZTsKKyAgfQorCisgIHZhciBhcnIgPSBuZXcgQXJy
YXkoMTApOworICBhcnJbMV0gPSAxOworICBhcnJbMl0gPSAyOworICAKKyAgaWYoYXJyLnNvbWUo
Y2FsbGJhY2tmbikgPT09IGZhbHNlKSAgICAKKyAgICByZXR1cm4gdHJ1ZTsgIAorIAorIH0sCisK
K3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJy
YXkucHJvdG90eXBlLnNvbWUpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy03LTUuanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTctNi5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTctNi5q
cwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNy03LTYuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTQgKzEs
NTQgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8v
LyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0K
LS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQot
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyAN
Ci0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE3
LTctNiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40
LjE3LzE1LjQuNC4xNy03LTYuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBl
LnNvbWUgdmlzaXRzIGRlbGV0ZWQgZWxlbWVudCBpbiBhcnJheSBhZnRlciB0aGUgY2FsbCB3aGVu
IHNhbWUgaW5kZXggaXMgYWxzbyBwcmVzZW50IGluIHByb3RvdHlwZSIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7IA0KLSANCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgs
IG9iaikNCi0gIHsNCi0gICAgZGVsZXRlIGFycls0XTsNCi0gICAgaWYodmFsIDwgNSkNCi0gICAg
ICByZXR1cm4gZmFsc2U7DQotICAgIGVsc2UgDQotICAgICAgcmV0dXJuIHRydWU7DQotICB9DQot
DQotDQotICBBcnJheS5wcm90b3R5cGVbNF0gPSA1Ow0KLSAgdmFyIGFyciA9IFsxLDIsMyw0LDVd
Ow0KLSAgDQotICB2YXIgcmVzID0gYXJyLnNvbWUoY2FsbGJhY2tmbikgOw0KLSAgZGVsZXRlIEFy
cmF5LnByb3RvdHlwZVs0XTsNCi0gIGlmKHJlcyA9PT0gdHJ1ZSkgICAgDQotICAgIHJldHVybiB0
cnVlOyAgDQotICANCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsN
Ci0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7DQotIH0NCi19KTsNCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE3LTctNiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy02LmpzIiwKKworZGVzY3Jp
cHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSB2aXNpdHMgZGVsZXRlZCBlbGVtZW50IGluIGFy
cmF5IGFmdGVyIHRoZSBjYWxsIHdoZW4gc2FtZSBpbmRleCBpcyBhbHNvIHByZXNlbnQgaW4gcHJv
dG90eXBlIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAorIAorICBmdW5jdGlvbiBj
YWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopCisgIHsKKyAgICBkZWxldGUgYXJyWzRdOworICAgIGlm
KHZhbCA8IDUpCisgICAgICByZXR1cm4gZmFsc2U7CisgICAgZWxzZSAKKyAgICAgIHJldHVybiB0
cnVlOworICB9CisKKworICBBcnJheS5wcm90b3R5cGVbNF0gPSA1OworICB2YXIgYXJyID0gWzEs
MiwzLDQsNV07CisgIAorICB2YXIgcmVzID0gYXJyLnNvbWUoY2FsbGJhY2tmbikgOworICBkZWxl
dGUgQXJyYXkucHJvdG90eXBlWzRdOworICBpZihyZXMgPT09IHRydWUpICAgIAorICAgIHJldHVy
biB0cnVlOyAgCisgIAorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewor
ICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOworIH0KK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNy03LTYuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTctYi0x
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTctNy1iLTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNy1iLTEuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNDkgKzEsNDkgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE3LTctYi0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYi0xLmpzIiwNCi0N
Ci1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiBub3QgY2Fs
bGVkIGZvciBpbmRleGVzIG5ldmVyIGJlZW4gYXNzaWduZWQgdmFsdWVzIiwNCi0NCi10ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQotDQotICB2YXIgY2FsbENudCA9IDA7IA0KLSAgZnVuY3Rp
b24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KLSAgew0KLSAgICBjYWxsQ250Kys7DQotICAg
IHJldHVybiBmYWxzZTsNCi0gIH0NCi0NCi0gIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KLSAg
YXJyWzFdID0gdW5kZWZpbmVkOw0KLSAgYXJyLnNvbWUoY2FsbGJhY2tmbik7DQotICBpZihjYWxs
Q250ID09PSAxKSAgICANCi0gICAgICByZXR1cm4gdHJ1ZTsgIA0KLSAgDQotIH0sDQotDQotcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLnNvbWUpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4x
Ny03LWItMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQu
NC4xNy8xNS40LjQuMTctNy1iLTEuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlw
ZS5zb21lIC0gY2FsbGJhY2tmbiBub3QgY2FsbGVkIGZvciBpbmRleGVzIG5ldmVyIGJlZW4gYXNz
aWduZWQgdmFsdWVzIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAorCisgIHZhciBj
YWxsQ250ID0gMDsgCisgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikKKyAgewor
ICAgIGNhbGxDbnQrKzsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0KKworICB2YXIgYXJyID0gbmV3
IEFycmF5KDEwKTsKKyAgYXJyWzFdID0gdW5kZWZpbmVkOworICBhcnIuc29tZShjYWxsYmFja2Zu
KTsKKyAgaWYoY2FsbENudCA9PT0gMSkgICAgCisgICAgICByZXR1cm4gdHJ1ZTsgIAorICAKKyB9
LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3Rz
KEFycmF5LnByb3RvdHlwZS5zb21lKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNy1i
LTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTctYy1paS0xLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTctNy1jLWlpLTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNy1jLWlpLTEuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNTAgKzEsNTAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggew0KLWlkOiAiMTUuNC40LjE3LTctYy1paS0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS0xLmpzIiwNCi0N
Ci1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiBjYWxsZWQg
d2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
eyANCi0gDQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQotICB7DQotICAg
IGlmKG9ialtpZHhdID09PSB2YWwpDQotICAgICAgcmV0dXJuIGZhbHNlOw0KLSAgICBlbHNlDQot
ICAgICAgcmV0dXJuIHRydWU7DQotICB9DQotDQotICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYs
Nyw4LDldOw0KLSAgDQotICBpZihhcnIuc29tZShjYWxsYmFja2ZuKSA9PT0gZmFsc2UpDQotICAg
IHJldHVybiB0cnVlOw0KLQ0KLQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsNCi0gfQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTctNy1jLWlpLTEiLAorCitwYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1p
aS0xLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxiYWNr
Zm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzIiwKKwordGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7IAorIAorICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopCisgIHsK
KyAgICBpZihvYmpbaWR4XSA9PT0gdmFsKQorICAgICAgcmV0dXJuIGZhbHNlOworICAgIGVsc2UK
KyAgICAgIHJldHVybiB0cnVlOworICB9CisKKyAgdmFyIGFyciA9IFswLDEsMiwzLDQsNSw2LDcs
OCw5XTsKKyAgCisgIGlmKGFyci5zb21lKGNhbGxiYWNrZm4pID09PSBmYWxzZSkKKyAgICByZXR1
cm4gdHJ1ZTsKKworCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7Cisg
IHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CisgfQorfSk7CgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE3LTctYy1paS0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy03
LWMtaWktMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTctYy1paS0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3
LTctYy1paS0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUxICsxLDUxIEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNy03LWMtaWktMiIsDQotDQot
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4x
Ny03LWMtaWktMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAt
IGNhbGxiYWNrZm4gdGFrZXMgMyBhcmd1bWVudHMiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgeyANCi0gDQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQotICB7
DQotICAgIGlmKGFyZ3VtZW50cy5sZW5ndGggPT09IDMpICAgLy92ZXJpZnkgaWYgY2FsbGJhY2tm
biB3YXMgY2FsbGVkIHdpdGggMyBwYXJhbWV0ZXJzDQotICAgICAgcmV0dXJuIGZhbHNlOw0KLSAg
ICBlbHNlDQotICAgICAgcmV0dXJuIHRydWU7DQotICB9DQotDQotICB2YXIgYXJyID0gWzAsMSx0
cnVlLG51bGwsbmV3IE9iamVjdCgpLCJmaXZlIl07DQotICBhcnJbOTk5OTk5XSA9IC02LjY7DQot
ICANCi0gIGlmKGFyci5zb21lKGNhbGxiYWNrZm4pID09PSBmYWxzZSkNCi0gICAgcmV0dXJuIHRy
dWU7DQotDQotDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQot
ICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOw0KLSB9DQotfSk7DQorLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
Ky8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xNy03LWMtaWktMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWlpLTIuanMiLAor
CitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiB0YWtlcyAz
IGFyZ3VtZW50cyIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAKKyAKKyAgZnVuY3Rp
b24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQorICB7CisgICAgaWYoYXJndW1lbnRzLmxlbmd0
aCA9PT0gMykgICAvL3ZlcmlmeSBpZiBjYWxsYmFja2ZuIHdhcyBjYWxsZWQgd2l0aCAzIHBhcmFt
ZXRlcnMKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICBlbHNlCisgICAgICByZXR1cm4gdHJ1ZTsK
KyAgfQorCisgIHZhciBhcnIgPSBbMCwxLHRydWUsbnVsbCxuZXcgT2JqZWN0KCksImZpdmUiXTsK
KyAgYXJyWzk5OTk5OV0gPSAtNi42OworICAKKyAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbikgPT09
IGZhbHNlKQorICAgIHJldHVybiB0cnVlOworCisKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsK
KyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNy1jLWlpLTIuanMKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE3LTctYy1paS0zLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctNy1jLWlpLTMuanMJKHJl
dmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTctNy1jLWlpLTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTAgKzEs
NTAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8v
LyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0K
LS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQot
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyAN
Ci0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE3
LTctYy1paS0zIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMTcvMTUuNC40LjE3LTctYy1paS0zLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5zb21lIGltbWVkaWF0ZWx5IHJldHVybnMgdHJ1ZSBpZiBjYWxsYmFja2ZuIHJl
dHVybnMgdHJ1ZSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KLSANCi0gIHZh
ciBjYWxsQ250ID0gMDsNCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCi0g
IHsNCi0gICAgY2FsbENudCsrOw0KLSAgICBpZihpZHggPiA1KSAgIA0KLSAgICAgIHJldHVybiB0
cnVlOw0KLSAgICBlbHNlDQotICAgICAgcmV0dXJuIGZhbHNlOw0KLSAgfQ0KLQ0KLSAgdmFyIGFy
ciA9IFswLDEsMiwzLDQsNSw2LDcsOCw5XTsNCi0gIA0KLSAgaWYoYXJyLnNvbWUoY2FsbGJhY2tm
bikgPT09IHRydWUgJiYgY2FsbENudCA9PT0gNykgDQotICAgIHJldHVybiB0cnVlOw0KLSB9LA0K
LQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3Rz
KEFycmF5LnByb3RvdHlwZS5zb21lKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisv
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIx
NS40LjQuMTctNy1jLWlpLTMiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1
LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS0zLmpzIiwKKworZGVzY3JpcHRpb246ICJB
cnJheS5wcm90b3R5cGUuc29tZSBpbW1lZGlhdGVseSByZXR1cm5zIHRydWUgaWYgY2FsbGJhY2tm
biByZXR1cm5zIHRydWUiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCisgCisgIHZh
ciBjYWxsQ250ID0gMDsKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQorICB7
CisgICAgY2FsbENudCsrOworICAgIGlmKGlkeCA+IDUpICAgCisgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICBlbHNlCisgICAgICByZXR1cm4gZmFsc2U7CisgIH0KKworICB2YXIgYXJyID0gWzAsMSwy
LDMsNCw1LDYsNyw4LDldOworICAKKyAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbikgPT09IHRydWUg
JiYgY2FsbENudCA9PT0gNykgCisgICAgcmV0dXJuIHRydWU7CisgfSwKKworcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUu
c29tZSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTctYy1paS0zLmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNy04LTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy04LTEuanMJKHJldmlz
aW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTctOC0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQwICsxLDQwIEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNy04LTEiLA0K
LQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40
LjQuMTctOC0xLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIHJl
dHVybnMgZmFsc2UgaWYgJ2xlbmd0aCcgaXMgMCAoZW1wdHkgYXJyYXkpIiwNCi0NCi10ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGZ1bmN0aW9uIGNiKCl7fQ0KLSAgdmFyIGkgPSBbXS5z
b21lKGNiKTsNCi0gIGlmIChpID09PSBmYWxzZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0N
Ci0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsK
K2lkOiAiMTUuNC40LjE3LTgtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctOC0xLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJh
eS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKGVtcHR5IGFy
cmF5KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBmdW5jdGlvbiBjYigpe30K
KyAgdmFyIGkgPSBbXS5zb21lKGNiKTsKKyAgaWYgKGkgPT09IGZhbHNlKSB7CisgICAgcmV0dXJu
IHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAg
cmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKKyB9Cit9KTsKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTctOC0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy04LTEwLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTctOC0xMC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy04LTEwLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDUyICsxLDUyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQot
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsNCi1pZDogIjE1LjQuNC4xNy04LTEwIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTgtMTAuanMiLA0KLQ0KLWRlc2Ny
aXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSBzdWJjbGFzc2VkIGFycmF5IHdoZW4gbGVu
Z3RoIGlzIHJlZHVjZWQiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgZm9v
LnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCi0gIGZ1bmN0aW9uIGZvbygpIHt9DQot
ICB2YXIgZiA9IG5ldyBmb28oKTsNCi0gIGYubGVuZ3RoID0gMjsNCi0gIA0KLSAgZnVuY3Rpb24g
Y2IodmFsKQ0KLSAgew0KLSAgICBpZih2YWwgPiAyKQ0KLSAgICAgIHJldHVybiB0cnVlOw0KLSAg
ICBlbHNlDQotICAgICAgcmV0dXJuIGZhbHNlOw0KLSAgfQ0KLSAgdmFyIGkgPSBmLnNvbWUoY2Ip
Ow0KLSAgDQotICBpZiAoaSA9PT0gZmFsc2UpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQot
IH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5F
eGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7Citp
ZDogIjE1LjQuNC4xNy04LTEwIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTEwLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJh
eS5wcm90b3R5cGUuc29tZSAtIHN1YmNsYXNzZWQgYXJyYXkgd2hlbiBsZW5ndGggaXMgcmVkdWNl
ZCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBmb28ucHJvdG90eXBlID0gbmV3
IEFycmF5KDEsIDIsIDMpOworICBmdW5jdGlvbiBmb28oKSB7fQorICB2YXIgZiA9IG5ldyBmb28o
KTsKKyAgZi5sZW5ndGggPSAyOworICAKKyAgZnVuY3Rpb24gY2IodmFsKQorICB7CisgICAgaWYo
dmFsID4gMikKKyAgICAgIHJldHVybiB0cnVlOworICAgIGVsc2UKKyAgICAgIHJldHVybiBmYWxz
ZTsKKyAgfQorICB2YXIgaSA9IGYuc29tZShjYik7CisgIAorICBpZiAoaSA9PT0gZmFsc2UpIHsK
KyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOworIH0KK30p
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xNy04LTEwLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xNy04LTExLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctOC0xMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy04
LTExLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ3ICsxLDQ3IEBACi0vLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0K
LS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
Uw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNy04LTExIiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTgtMTEuanMi
LA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgcmV0dXJucyBmYWxzZSB3
aGVuIGFsbCBjYWxscyB0byBjYWxsYmFja2ZuIHJldHVybiBmYWxzZSIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7IA0KLSANCi0gIHZhciBjYWxsQ250ID0gMDsNCi0gIGZ1bmN0aW9u
IGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCi0gIHsNCi0gICAgY2FsbENudCsrOw0KLSAgICBy
ZXR1cm4gZmFsc2U7DQotICB9DQotDQotICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDld
Ow0KLSAgDQotICBpZihhcnIuc29tZShjYWxsYmFja2ZuKSA9PT0gZmFsc2UgJiYgY2FsbENudCA9
PT0gMTApIA0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7
DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKwor
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE3LTgtMTEiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTgt
MTEuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIHJldHVybnMgZmFs
c2Ugd2hlbiBhbGwgY2FsbHMgdG8gY2FsbGJhY2tmbiByZXR1cm4gZmFsc2UiLAorCit0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCisgCisgIHZhciBjYWxsQ250ID0gMDsKKyAgZnVuY3Rpb24g
Y2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQorICB7CisgICAgY2FsbENudCsrOworICAgIHJldHVy
biBmYWxzZTsKKyAgfQorCisgIHZhciBhcnIgPSBbMCwxLDIsMyw0LDUsNiw3LDgsOV07CisgIAor
ICBpZihhcnIuc29tZShjYWxsYmFja2ZuKSA9PT0gZmFsc2UgJiYgY2FsbENudCA9PT0gMTApIAor
ICAgIHJldHVybiB0cnVlOworIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
eworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOworIH0KK30pOwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNy04LTExLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy04
LTEyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTctOC0xMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy04LTEyLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDUxICsxLDUxIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNy04LTEyIiwNCi0NCi1wYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTgtMTIuanMiLA0KLQ0K
LWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgZG9lc24ndCBtdXRhdGUgdGhlIGFy
cmF5IG9uIHdoaWNoIGl0IGlzIGNhbGxlZCBvbiIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7DQotDQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQotICB7DQot
ICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KLSAgYXJy
LnNvbWUoY2FsbGJhY2tmbik7DQotICBpZihhcnJbMF0gPT09IDEgJiYNCi0gICAgIGFyclsxXSA9
PT0gMiAmJg0KLSAgICAgYXJyWzJdID09PSAzICYmDQotICAgICBhcnJbM10gPT09IDQgJiYNCi0g
ICAgIGFycls0XSA9PT0gNSkNCi0gIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotDQotIH0s
DQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDog
IjE1LjQuNC4xNy04LTEyIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40
LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTEyLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUuc29tZSBkb2Vzbid0IG11dGF0ZSB0aGUgYXJyYXkgb24gd2hpY2ggaXQgaXMgY2Fs
bGVkIG9uIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgZnVuY3Rpb24gY2Fs
bGJhY2tmbih2YWwsIGlkeCwgb2JqKQorICB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyAgdmFy
IGFyciA9IFsxLDIsMyw0LDVdOworICBhcnIuc29tZShjYWxsYmFja2ZuKTsKKyAgaWYoYXJyWzBd
ID09PSAxICYmCisgICAgIGFyclsxXSA9PT0gMiAmJgorICAgICBhcnJbMl0gPT09IDMgJiYKKyAg
ICAgYXJyWzNdID09PSA0ICYmCisgICAgIGFycls0XSA9PT0gNSkKKyAgeworICAgIHJldHVybiB0
cnVlOworICB9CisKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAg
cmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKKyB9Cit9KTsKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTctOC0xMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w
LDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctOC0xMy5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE3LTgtMTMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctOC0xMy5qcwkod29y
a2luZyBjb3B5KQpAQCAtMSw0OSArMSw0OSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0K
LS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7DQotaWQ6ICIxNS40LjQuMTctOC0xMyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTEzLmpzIiwNCi0NCi1kZXNj
cmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIGRvZXNuJ3QgdmlzaXQgZXhwYW5kb3MiLA0K
LQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCi0gDQotICB2YXIgY2FsbENudCA9IDA7
DQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQotICB7DQotICAgIGNhbGxD
bnQrKzsNCi0gICAgcmV0dXJuIGZhbHNlOw0KLSAgfQ0KLQ0KLSAgdmFyIGFyciA9IFswLDEsMiwz
LDQsNSw2LDcsOCw5XTsNCi0gIGFyclsiaSJdID0gMTA7DQotICBhcnJbdHJ1ZV0gPSAxMTsNCi0g
IA0KLSAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbikgPT09IGZhbHNlICYmIGNhbGxDbnQgPT09IDEw
KSANCi0gICAgcmV0dXJuIHRydWU7DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOw0KLSB9
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xNy04LTEzIiwKKworcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTEzLmpz
IiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSBkb2Vzbid0IHZpc2l0IGV4
cGFuZG9zIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAorIAorICB2YXIgY2FsbENu
dCA9IDA7CisgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikKKyAgeworICAgIGNh
bGxDbnQrKzsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0KKworICB2YXIgYXJyID0gWzAsMSwyLDMs
NCw1LDYsNyw4LDldOworICBhcnJbImkiXSA9IDEwOworICBhcnJbdHJ1ZV0gPSAxMTsKKyAgCisg
IGlmKGFyci5zb21lKGNhbGxiYWNrZm4pID09PSBmYWxzZSAmJiBjYWxsQ250ID09PSAxMCkgCisg
ICAgcmV0dXJuIHRydWU7CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CisgfQorfSk7CgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE3LTgtMTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQoj
IyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTgt
Mi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE3LTgtMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy04LTIuanMJKHdv
cmtpbmcgY29weSkKQEAgLTEsNDYgKzEsNDYgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QN
Ci0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggew0KLWlkOiAiMTUuNC40LjE3LTgtMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTIuanMiLA0KLQ0KLWRlc2Ny
aXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgcmV0dXJucyBmYWxzZSBpZiAnbGVuZ3RoJyBp
cyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBudWxsICh0eXBlIGNv
bnZlcnNpb24pKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBmb28ucHJv
dG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KLSAgZnVuY3Rpb24gZm9vKCkge30NCi0gIHZh
ciBmID0gbmV3IGZvbygpOw0KLSAgZi5sZW5ndGggPSBudWxsOw0KLSAgDQotICBmdW5jdGlvbiBj
Yigpe30NCi0gIHZhciBpID0gZi5zb21lKGNiKTsNCi0gIA0KLSAgaWYgKGkgPT09IGZhbHNlKSB7
DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsN
Ci0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTctOC0yIiwKKworcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTIu
anMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIHJldHVybnMgZmFsc2Ug
aWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8g
bnVsbCAodHlwZSBjb252ZXJzaW9uKSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsK
KyAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsKKyAgZnVuY3Rpb24gZm9vKCkg
e30KKyAgdmFyIGYgPSBuZXcgZm9vKCk7CisgIGYubGVuZ3RoID0gbnVsbDsKKyAgCisgIGZ1bmN0
aW9uIGNiKCl7fQorICB2YXIgaSA9IGYuc29tZShjYik7CisgIAorICBpZiAoaSA9PT0gZmFsc2Up
IHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOworIH0K
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy04LTIuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE3LTgtMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTgtMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy04
LTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDYgKzEsNDYgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE3LTgtMyIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTMuanMiLA0K
LQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgcmV0dXJucyBmYWxzZSBpZiAn
bGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBmYWxz
ZSAodHlwZSBjb252ZXJzaW9uKSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LSAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCi0gIGZ1bmN0aW9uIGZvbygp
IHt9DQotICB2YXIgZiA9IG5ldyBmb28oKTsNCi0gIGYubGVuZ3RoID0gZmFsc2U7DQotICANCi0g
IGZ1bmN0aW9uIGNiKCl7fQ0KLSAgdmFyIGkgPSBmLnNvbWUoY2IpOw0KLSAgDQotICBpZiAoaSA9
PT0gZmFsc2UpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90
eXBlLnNvbWUpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xNy04LTMi
LAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUu
NC40LjE3LTgtMy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgcmV0
dXJucyBmYWxzZSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3Zl
cnJpZGRlbiB0byBmYWxzZSAodHlwZSBjb252ZXJzaW9uKSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsKKyAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsKKyAgZnVu
Y3Rpb24gZm9vKCkge30KKyAgdmFyIGYgPSBuZXcgZm9vKCk7CisgIGYubGVuZ3RoID0gZmFsc2U7
CisgIAorICBmdW5jdGlvbiBjYigpe30KKyAgdmFyIGkgPSBmLnNvbWUoY2IpOworICAKKyAgaWYg
KGkgPT09IGZhbHNlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlw
ZS5zb21lKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctOC0zLmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xNy04LTQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy04LTQuanMJKHJldmlzaW9u
IDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTctOC00LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ2ICsxLDQ2IEBACi0vLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
Rg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNy04LTQiLA0KLQ0K
LXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQu
MTctOC00LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIHJldHVy
bnMgZmFsc2UgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJy
aWRkZW4gdG8gMCAodHlwZSBjb252ZXJzaW9uKSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgew0KLSAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCi0gIGZ1bmN0
aW9uIGZvbygpIHt9DQotICB2YXIgZiA9IG5ldyBmb28oKTsNCi0gIGYubGVuZ3RoID0gMDsNCi0g
IA0KLSAgZnVuY3Rpb24gY2IoKXt9DQotICB2YXIgaSA9IGYuc29tZShjYik7DQotICANCi0gIGlm
IChpID09PSBmYWxzZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5w
cm90b3R5cGUuc29tZSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisv
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE3
LTgtNCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4x
Ny8xNS40LjQuMTctOC00LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29t
ZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0
aCBvdmVycmlkZGVuIHRvIDAgKHR5cGUgY29udmVyc2lvbikpIiwKKwordGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7CisgIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7CisgIGZ1
bmN0aW9uIGZvbygpIHt9CisgIHZhciBmID0gbmV3IGZvbygpOworICBmLmxlbmd0aCA9IDA7Cisg
IAorICBmdW5jdGlvbiBjYigpe30KKyAgdmFyIGkgPSBmLnNvbWUoY2IpOworICAKKyAgaWYgKGkg
PT09IGZhbHNlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5z
b21lKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctOC00LmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xNy04LTUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy04LTUuanMJKHJldmlzaW9uIDE5
OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTctOC01LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ2ICsxLDQ2IEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQot
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNy04LTUiLA0KLQ0KLXBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTct
OC01LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIHJldHVybnMg
ZmFsc2UgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRk
ZW4gdG8gJzAnICh0eXBlIGNvbnZlcnNpb24pKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7DQotICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KLSAgZnVuY3Rp
b24gZm9vKCkge30NCi0gIHZhciBmID0gbmV3IGZvbygpOw0KLSAgZi5sZW5ndGggPSAnMCc7DQot
ICANCi0gIGZ1bmN0aW9uIGNiKCl7fQ0KLSAgdmFyIGkgPSBmLnNvbWUoY2IpOw0KLSAgDQotICBp
ZiAoaSA9PT0gZmFsc2UpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLnNvbWUpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4x
Ny04LTUiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQu
MTcvMTUuNC40LjE3LTgtNS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNv
bWUgcmV0dXJucyBmYWxzZSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5n
dGggb3ZlcnJpZGRlbiB0byAnMCcgKHR5cGUgY29udmVyc2lvbikpIiwKKwordGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7CisgIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7Cisg
IGZ1bmN0aW9uIGZvbygpIHt9CisgIHZhciBmID0gbmV3IGZvbygpOworICBmLmxlbmd0aCA9ICcw
JzsKKyAgCisgIGZ1bmN0aW9uIGNiKCl7fQorICB2YXIgaSA9IGYuc29tZShjYik7CisgIAorICBp
ZiAoaSA9PT0gZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90
eXBlLnNvbWUpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy04LTUuanMKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE3LTgtNi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTgtNi5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xNy04LTYuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDggKzEsNDggQEAKLS8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE3LTgtNiIsDQot
DQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQu
NC4xNy04LTYuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgcmV0
dXJucyBmYWxzZSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3Zl
cnJpZGRlbiB3aXRoIG9iaiB3aXRoIHZhbHVlT2YpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsNCi0gIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQotICBmdW5j
dGlvbiBmb28oKSB7fQ0KLSAgdmFyIGYgPSBuZXcgZm9vKCk7DQotICANCi0gIHZhciBvID0geyB2
YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwO319Ow0KLSAgZi5sZW5ndGggPSBvOw0KLSAg
DQotICBmdW5jdGlvbiBjYigpe30NCi0gIHZhciBpID0gZi5zb21lKGNiKTsNCi0gIA0KLSAgaWYg
KGkgPT09IGZhbHNlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnBy
b3RvdHlwZS5zb21lKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTct
OC02IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3
LzE1LjQuNC4xNy04LTYuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21l
IHJldHVybnMgZmFsc2UgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3Ro
IG92ZXJyaWRkZW4gd2l0aCBvYmogd2l0aCB2YWx1ZU9mKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeworICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOworICBmdW5j
dGlvbiBmb28oKSB7fQorICB2YXIgZiA9IG5ldyBmb28oKTsKKyAgCisgIHZhciBvID0geyB2YWx1
ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwO319OworICBmLmxlbmd0aCA9IG87CisgIAorICBm
dW5jdGlvbiBjYigpe30KKyAgdmFyIGkgPSBmLnNvbWUoY2IpOworICAKKyAgaWYgKGkgPT09IGZh
bHNlKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsK
KyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctOC02LmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xNy04LTcuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy04LTcuanMJKHJldmlzaW9uIDE5OTU0OSkK
KysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTctOC03LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU0ICsxLDU0IEBACi0vLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0v
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xNy04LTciLA0KLQ0KLXBhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctOC03Lmpz
IiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIHJldHVybnMgZmFsc2Ug
aWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0
aCBvYmogdy9vIHZhbHVlT2YgKHRvU3RyaW5nKSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgew0KLSAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCi0gIGZ1bmN0
aW9uIGZvbygpIHt9DQotICB2YXIgZiA9IG5ldyBmb28oKTsNCi0gIA0KLSAgdmFyIG8gPSB7IHRv
U3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAnMCc7fX07DQotICBmLmxlbmd0aCA9IG87DQot
ICANCi0gIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0
aGUgT2JqZWN0IG9iamVjdDsNCi0gIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4g
U2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KLSAgLy8gZG9lcyBub3QgcmV0dXJu
IGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0K
LSAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNv
bnZlcnRpbmcgdGhlDQotICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KLQ0KLSAg
ZnVuY3Rpb24gY2IoKXt9DQotICB2YXIgaSA9IGYuc29tZShjYik7DQotICANCi0gIGlmIChpID09
PSBmYWxzZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUuc29tZSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE3LTgtNyIs
CisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40
LjQuMTctOC03LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSByZXR1
cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVy
cmlkZGVuIHdpdGggb2JqIHcvbyB2YWx1ZU9mICh0b1N0cmluZykpIiwKKwordGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7CisgIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7Cisg
IGZ1bmN0aW9uIGZvbygpIHt9CisgIHZhciBmID0gbmV3IGZvbygpOworICAKKyAgdmFyIG8gPSB7
IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAnMCc7fX07CisgIGYubGVuZ3RoID0gbzsK
KyAgCisgIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0
aGUgT2JqZWN0IG9iamVjdDsKKyAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBT
aW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kCisgIC8vIGRvZXMgbm90IHJldHVybiBh
IHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QKKyAg
Ly8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZl
cnRpbmcgdGhlCisgIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuCisKKyAgZnVuY3Rp
b24gY2IoKXt9CisgIHZhciBpID0gZi5zb21lKGNiKTsKKyAgCisgIGlmIChpID09PSBmYWxzZSkg
eworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CisgfQor
fSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTgtNy5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTctOC04LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTctOC04LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE3LTgt
OC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw2MSArMSw2MSBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTctOC04IiwNCi0NCi1wYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTgtOC5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICds
ZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggW10i
LA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgZm9vLnByb3RvdHlwZSA9IG5l
dyBBcnJheSgxLCAyLCAzKTsNCi0gIGZ1bmN0aW9uIGZvbygpIHt9DQotICB2YXIgZiA9IG5ldyBm
b28oKTsNCi0gIA0KLSAgZi5sZW5ndGggPSBbXTsNCi0gIA0KLSAgLy8gb2JqZWN0cyBpbmhlcml0
IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KLSAgLy8g
dGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9m
KCkgbWV0aG9kDQotICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5l
eHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQotICAvLyB0byBhIG51bWJlciBieSBjYWxs
aW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCi0gIC8vIHJlc3Vs
dGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQotICAvLw0KLSAgLy8gVGhlIHRvU3RyaW5nKCApIG1l
dGhvZCBvbiBBcnJheSBjb252ZXJ0cyB0aGUgYXJyYXkgZWxlbWVudHMgdG8gc3RyaW5ncywNCi0g
IC8vIHRoZW4gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgdGhlc2Ugc3RyaW5n
cywgd2l0aCBjb21tYXMgaW4NCi0gIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVu
dHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCi0gIC8vIGNvbnZlcnRzIHRv
IHRoZSBudW1iZXIgMC4gSWYgYW4gYXJyYXkgaGFzIGEgc2luZ2xlIGVsZW1lbnQgdGhhdCBpcyBh
DQotICAvLyBudW1iZXIgbiwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIGEgc3RyaW5nIHJlcHJlc2Vu
dGF0aW9uIG9mIG4sIHdoaWNoIGlzDQotICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRz
ZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQotICAvLyBv
ciBpZiBpdHMgb25lIGVsZW1lbnQgaXMgbm90IGEgbnVtYmVyLCB0aGUgYXJyYXkgY29udmVydHMg
dG8gTmFOLg0KLQ0KLSAgZnVuY3Rpb24gY2IoKXt9DQotICB2YXIgaSA9IGYuc29tZShjYik7DQot
ICANCi0gIGlmIChpID09PSBmYWxzZSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwN
Ci0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0
cyhBcnJheS5wcm90b3R5cGUuc29tZSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAi
MTUuNC40LjE3LTgtOCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40
LzE1LjQuNC4xNy8xNS40LjQuMTctOC04LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90
b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJy
YXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggW10iLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKyAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsKKyAgZnVuY3Rpb24g
Zm9vKCkge30KKyAgdmFyIGYgPSBuZXcgZm9vKCk7CisgIAorICBmLmxlbmd0aCA9IFtdOworICAK
KyAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBP
YmplY3Qgb2JqZWN0OworICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNl
IHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QKKyAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJp
bWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdAorICAvLyB0
byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGlu
ZyB0aGUKKyAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4KKyAgLy8KKyAgLy8gVGhl
IHRvU3RyaW5nKCApIG1ldGhvZCBvbiBBcnJheSBjb252ZXJ0cyB0aGUgYXJyYXkgZWxlbWVudHMg
dG8gc3RyaW5ncywKKyAgLy8gdGhlbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY29uY2F0ZW5hdGlu
ZyB0aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbgorICAvLyBiZXR3ZWVuLiBBbiBhcnJheSB3
aXRoIG5vIGVsZW1lbnRzIGNvbnZlcnRzIHRvIHRoZSBlbXB0eSBzdHJpbmcsIHdoaWNoCisgIC8v
IGNvbnZlcnRzIHRvIHRoZSBudW1iZXIgMC4gSWYgYW4gYXJyYXkgaGFzIGEgc2luZ2xlIGVsZW1l
bnQgdGhhdCBpcyBhCisgIC8vIG51bWJlciBuLCB0aGUgYXJyYXkgY29udmVydHMgdG8gYSBzdHJp
bmcgcmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2ggaXMKKyAgLy8gdGhlbiBjb252ZXJ0ZWQgYmFj
ayB0byBuIGl0c2VsZi4gSWYgYW4gYXJyYXkgY29udGFpbnMgbW9yZSB0aGFuIG9uZSBlbGVtZW50
LAorICAvLyBvciBpZiBpdHMgb25lIGVsZW1lbnQgaXMgbm90IGEgbnVtYmVyLCB0aGUgYXJyYXkg
Y29udmVydHMgdG8gTmFOLgorCisgIGZ1bmN0aW9uIGNiKCl7fQorICB2YXIgaSA9IGYuc29tZShj
Yik7CisgIAorICBpZiAoaSA9PT0gZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0s
CisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMo
QXJyYXkucHJvdG90eXBlLnNvbWUpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xNy04LTgu
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTAtMS5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTAt
MS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC0wLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzYg
KzEsMzYgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiANCi0NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUu
NC40LjE4LTAtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQv
MTUuNC40LjE4LzE1LjQuNC4xOC0wLTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmZvckVhY2ggbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIiwNCi0NCi10ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBmID0gQXJyYXkucHJvdG90eXBlLmZvckVhY2g7DQot
ICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAg
fQ0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisv
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisv
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisK
KworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE4LTAtMSIsCisKK3Bh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOC8xNS40LjQuMTgt
MC0xLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBtdXN0IGV4
aXN0IGFzIGEgZnVuY3Rpb24iLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFy
IGYgPSBBcnJheS5wcm90b3R5cGUuZm9yRWFjaDsKKyAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0
aW9uIikgeworICAgIHJldHVybiB0cnVlOworICB9CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE4LTAtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMK
K0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtMC0yLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTgtMC0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTAtMi5qcwkod29ya2luZyBjb3B5KQpA
QCAtMSwzOSArMSwzOSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQot
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQot
aWQ6ICIxNS40LjQuMTgtMC0yIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40
LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTAtMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJB
cnJheS5wcm90b3R5cGUuZm9yRWFjaC5sZW5ndGggbXVzdCBiZSAxIiwNCi0NCi10ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmIChBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5sZW5ndGgg
PT09IDEpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
LmZvckVhY2gpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE4LTAt
MiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOC8x
NS40LjQuMTgtMC0yLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZm9yRWFj
aC5sZW5ndGggbXVzdCBiZSAxIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGlm
IChBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5sZW5ndGggPT09IDEpIHsKKyAgICByZXR1cm4gdHJ1
ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZvckVhY2gpOworIH0KK30pOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xOC0wLTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTQtMS5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE4LTQtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC00LTEuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
Uw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0K
LS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
ew0KLWlkOiAiMTUuNC40LjE4LTQtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLmZvckVhY2ggdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2Zu
IGlzIHVuZGVmaW5lZCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICB2
YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCi0gIHRyeSB7DQotICAgIGFyci5mb3JFYWNoKCk7ICAg
IA0KLSAgfQ0KLSAgY2F0Y2goZSkgew0KLSAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0K
LSAgICAgIHJldHVybiB0cnVlOyAgDQotICB9DQotDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZv
ckVhY2gpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisv
Ly8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xOC00LTEiLAor
CitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40
LjE4LTQtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZvckVhY2ggdGhy
b3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHVuZGVmaW5lZCIsCisKK3Rlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgeworCisgIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOworICB0cnkgewor
ICAgIGFyci5mb3JFYWNoKCk7ICAgIAorICB9CisgIGNhdGNoKGUpIHsKKyAgICBpZihlIGluc3Rh
bmNlb2YgVHlwZUVycm9yKQorICAgICAgcmV0dXJuIHRydWU7ICAKKyAgfQorCisgfSwKKworcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5w
cm90b3R5cGUuZm9yRWFjaCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTQtMS5qcwpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtNC0yLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtNC0yLmpz
CShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE4LTQtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NSArMSw0
NSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8v
IA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQot
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0v
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0K
LS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTgt
NC0yIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQu
MTgvMTUuNC40LjE4LTQtMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUu
Zm9yRWFjaCB0aHJvd3MgUmVmZXJlbmNlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyB1bnJlZmVyZW5j
ZWQiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgdmFyIGFyciA9IG5l
dyBBcnJheSgxMCk7DQotICB0cnkgew0KLSAgICBhcnIuZm9yRWFjaChmb28pOyAgICANCi0gIH0N
Ci0gIGNhdGNoKGUpIHsNCi0gICAgaWYoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKQ0KLSAg
ICAgIHJldHVybiB0cnVlOyAgDQotICB9DQotDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZvckVh
Y2gpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
CisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8g
CisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xOC00LTIiLAorCitw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4
LTQtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZvckVhY2ggdGhyb3dz
IFJlZmVyZW5jZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgdW5yZWZlcmVuY2VkIiwKKwordGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7CisgIHRy
eSB7CisgICAgYXJyLmZvckVhY2goZm9vKTsgICAgCisgIH0KKyAgY2F0Y2goZSkgeworICAgIGlm
KGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikKKyAgICAgIHJldHVybiB0cnVlOyAgCisgIH0K
KworIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5F
eGlzdHMoQXJyYXkucHJvdG90eXBlLmZvckVhY2gpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xOC00LTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTQtMy5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE4LTQtMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC00LTMuanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0K
LS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlk
OiAiMTUuNC40LjE4LTQtMyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLmZvckVhY2ggdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG51
bGwiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgdmFyIGFyciA9IG5l
dyBBcnJheSgxMCk7DQotICB0cnkgew0KLSAgICBhcnIuZm9yRWFjaChudWxsKTsgICAgDQotICB9
DQotICBjYXRjaChlKSB7DQotICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQotICAgICAg
cmV0dXJuIHRydWU7ICANCi0gIH0NCi0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZm9yRWFjaCk7
DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKwor
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE4LTQtMyIsCisKK3BhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOC8xNS40LjQuMTgtNC0z
LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB0aHJvd3MgVHlw
ZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgbnVsbCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgeworCisgIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOworICB0cnkgeworICAgIGFyci5mb3JF
YWNoKG51bGwpOyAgICAKKyAgfQorICBjYXRjaChlKSB7CisgICAgaWYoZSBpbnN0YW5jZW9mIFR5
cGVFcnJvcikKKyAgICAgIHJldHVybiB0cnVlOyAgCisgIH0KKworIH0sCisKK3ByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
LmZvckVhY2gpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC00LTMuanMKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE4LTQtNC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTQtNC5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xOC00LTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDUgKzEsNDUgQEAKLS8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE4LTQtNCIsDQot
DQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQu
NC4xOC00LTQuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZvckVhY2gg
dGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIGJvb2xlYW4iLA0KLQ0KLXRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQotICB0
cnkgew0KLSAgICBhcnIuZm9yRWFjaCh0cnVlKTsgICAgDQotICB9DQotICBjYXRjaChlKSB7DQot
ICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQotICAgICAgcmV0dXJuIHRydWU7ICANCi0g
IH0NCi0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJl
dHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZm9yRWFjaCk7DQotIH0NCi19KTsNCisvLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsKK2lkOiAiMTUuNC40LjE4LTQtNCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOC8xNS40LjQuMTgtNC00LmpzIiwKKworZGVzY3JpcHRp
b246ICJBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNr
Zm4gaXMgYm9vbGVhbiIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgIHZhciBh
cnIgPSBuZXcgQXJyYXkoMTApOworICB0cnkgeworICAgIGFyci5mb3JFYWNoKHRydWUpOyAgICAK
KyAgfQorICBjYXRjaChlKSB7CisgICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikKKyAgICAg
IHJldHVybiB0cnVlOyAgCisgIH0KKworIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZvckVhY2gpOworIH0K
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC00LTQuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE4LTQtNS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTQtNS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC00
LTUuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE4LTQtNSIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTUuanMiLA0K
LQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZvckVhY2ggdGhyb3dzIFR5cGVFcnJv
ciBpZiBjYWxsYmFja2ZuIGlzIG51bWJlciIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotDQotICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCi0gIHRyeSB7DQotICAgIGFyci5m
b3JFYWNoKDUpOyAgICANCi0gIH0NCi0gIGNhdGNoKGUpIHsNCi0gICAgaWYoZSBpbnN0YW5jZW9m
IFR5cGVFcnJvcikNCi0gICAgICByZXR1cm4gdHJ1ZTsgIA0KLSAgfQ0KLQ0KLSB9LA0KLQ0KLXBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5
LnByb3RvdHlwZS5mb3JFYWNoKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwor
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40
LjQuMTgtNC01IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjE4LzE1LjQuNC4xOC00LTUuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlw
ZS5mb3JFYWNoIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudW1iZXIiLAorCit0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsK
KyAgdHJ5IHsKKyAgICBhcnIuZm9yRWFjaCg1KTsgICAgCisgIH0KKyAgY2F0Y2goZSkgeworICAg
IGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpCisgICAgICByZXR1cm4gdHJ1ZTsgIAorICB9CisK
KyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhp
c3RzKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTgtNC01LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIwor
TEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC00LTYuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xOC00LTYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtNC02LmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDQ1ICsxLDQ1IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0v
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDog
IjE1LjQuNC4xOC00LTYiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUu
NC40LzE1LjQuNC4xOC8xNS40LjQuMTgtNC02LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5mb3JFYWNoIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBzdHJp
bmciLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgdmFyIGFyciA9IG5l
dyBBcnJheSgxMCk7DQotICB0cnkgew0KLSAgICBhcnIuZm9yRWFjaCgiYWJjIik7ICAgIA0KLSAg
fQ0KLSAgY2F0Y2goZSkgew0KLSAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KLSAgICAg
IHJldHVybiB0cnVlOyAgDQotICB9DQotDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZvckVhY2gp
Ow0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisv
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisv
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xOC00LTYiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTQt
Ni5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZvckVhY2ggdGhyb3dzIFR5
cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHN0cmluZyIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgeworCisgIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOworICB0cnkgeworICAgIGFyci5m
b3JFYWNoKCJhYmMiKTsgICAgCisgIH0KKyAgY2F0Y2goZSkgeworICAgIGlmKGUgaW5zdGFuY2Vv
ZiBUeXBlRXJyb3IpCisgICAgICByZXR1cm4gdHJ1ZTsgIAorICB9CisKKyB9LAorCitwcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3Rv
dHlwZS5mb3JFYWNoKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtNC02LmpzCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC00LTcuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC00LTcuanMJKHJl
dmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTgtNC03LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ1ICsxLDQ1IEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
DQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xOC00LTci
LA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOC8x
NS40LjQuMTgtNC03LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5mb3JF
YWNoIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBPYmplY3Qgd2l0aG91dCBDYWxs
IGludGVybmFsIG1ldGhvZCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQot
ICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCi0gIHRyeSB7DQotICAgIGFyci5mb3JFYWNoKG5l
dyBPYmplY3QoKSk7ICAgIA0KLSAgfQ0KLSAgY2F0Y2goZSkgew0KLSAgICBpZihlIGluc3RhbmNl
b2YgVHlwZUVycm9yKQ0KLSAgICAgIHJldHVybiB0cnVlOyAgDQotICB9DQotDQotIH0sDQotDQot
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJy
YXkucHJvdG90eXBlLmZvckVhY2gpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
CisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1
LjQuNC4xOC00LTciLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMTgvMTUuNC40LjE4LTQtNy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90
eXBlLmZvckVhY2ggdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIE9iamVjdCB3aXRo
b3V0IENhbGwgaW50ZXJuYWwgbWV0aG9kIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
CisKKyAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7CisgIHRyeSB7CisgICAgYXJyLmZvckVhY2go
bmV3IE9iamVjdCgpKTsgICAgCisgIH0KKyAgY2F0Y2goZSkgeworICAgIGlmKGUgaW5zdGFuY2Vv
ZiBUeXBlRXJyb3IpCisgICAgICByZXR1cm4gdHJ1ZTsgIAorICB9CisKKyB9LAorCitwcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3Rv
dHlwZS5mb3JFYWNoKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtNC03LmpzCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC00LTguanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC00LTguanMJKHJl
dmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTgtNC04LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ1ICsxLDQ1IEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
DQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xOC00LTgi
LA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOC8x
NS40LjQuMTgtNC04LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5mb3JF
YWNoIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBvYmplY3QiLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQot
ICB0cnkgew0KLSAgICBhcnIuZm9yRWFjaCh7fSk7ICAgIA0KLSAgfQ0KLSAgY2F0Y2goZSkgew0K
LSAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KLSAgICAgIHJldHVybiB0cnVlOyAgDQot
ICB9DQotDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICBy
ZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZvckVhY2gpOw0KLSB9DQotfSk7DQorLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
Ky8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xOC00LTgiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTQtOC5qcyIsCisKK2Rlc2NyaXB0
aW9uOiAiQXJyYXkucHJvdG90eXBlLmZvckVhY2ggdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFj
a2ZuIGlzIG9iamVjdCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgIHZhciBh
cnIgPSBuZXcgQXJyYXkoMTApOworICB0cnkgeworICAgIGFyci5mb3JFYWNoKHt9KTsgICAgCisg
IH0KKyAgY2F0Y2goZSkgeworICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpCisgICAgICBy
ZXR1cm4gdHJ1ZTsgIAorICB9CisKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoKTsKKyB9Cit9
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtNC04LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xOC01LTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC01LTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtNS0x
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ1ICsxLDQ1IEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xOC01LTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOC8xNS40LjQuMTgtNS0xLmpzIiwNCi0N
Ci1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdGhpc0FyZyBub3QgcGFz
c2VkIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBpbm5lclRoaXND
b3JyZWN0ID0gZmFsc2U7DQotDQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmop
DQotICB7DQotICAgIGlubmVyVGhpc0NvcnJlY3QgPSB0aGlzPT09Zm5HbG9iYWxPYmplY3QoKTsN
Ci0gICAgcmV0dXJuIHRydWU7DQotICB9DQotDQotICBbMV0uZm9yRWFjaChjYWxsYmFja2ZuKQ0K
LSAgcmV0dXJuIGlubmVyVGhpc0NvcnJlY3Q7ICAgIA0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5m
b3JFYWNoKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
Ly8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTgtNS0xIiwK
KworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQu
NC4xOC01LTEuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0g
dGhpc0FyZyBub3QgcGFzc2VkIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZh
ciBpbm5lclRoaXNDb3JyZWN0ID0gZmFsc2U7CisKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWws
IGlkeCwgb2JqKQorICB7CisgICAgaW5uZXJUaGlzQ29ycmVjdCA9IHRoaXM9PT1mbkdsb2JhbE9i
amVjdCgpOworICAgIHJldHVybiB0cnVlOworICB9CisKKyAgWzFdLmZvckVhY2goY2FsbGJhY2tm
bikKKyAgcmV0dXJuIGlubmVyVGhpc0NvcnJlY3Q7ICAgIAorIH0sCisKK3ByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZv
ckVhY2gpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC01LTEuanMKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE4LTUtMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTUtMi5qcwkocmV2aXNpb24g
MTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xOC01LTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDkgKzEsNDkgQEAKLS8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
DQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0N
Ci1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE4LTUtMiIsDQotDQot
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4x
OC01LTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0
aGlzQXJnIGlzIE9iamVjdCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2
YXIgcmVzID0gZmFsc2U7DQotICB2YXIgbyA9IG5ldyBPYmplY3QoKTsNCi0gIG8ucmVzID0gdHJ1
ZTsNCi0gIHZhciByZXN1bHQ7DQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmop
DQotICB7DQotICAgIHJlc3VsdCA9IHRoaXMucmVzOw0KLSAgfQ0KLQ0KLSAgdmFyIGFyciA9IFsx
XTsNCi0gIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4sbykNCi0gIGlmKCByZXN1bHQgPT09IHRydWUp
DQotICAgIHJldHVybiB0cnVlOyAgICANCi0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZm9yRWFj
aCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8K
Ky8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAK
Ky8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisK
KworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE4LTUtMiIsCisKK3Bh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOC8xNS40LjQuMTgt
NS0yLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoaXNB
cmcgaXMgT2JqZWN0IiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciByZXMg
PSBmYWxzZTsKKyAgdmFyIG8gPSBuZXcgT2JqZWN0KCk7CisgIG8ucmVzID0gdHJ1ZTsKKyAgdmFy
IHJlc3VsdDsKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQorICB7CisgICAg
cmVzdWx0ID0gdGhpcy5yZXM7CisgIH0KKworICB2YXIgYXJyID0gWzFdOworICBhcnIuZm9yRWFj
aChjYWxsYmFja2ZuLG8pCisgIGlmKCByZXN1bHQgPT09IHRydWUpCisgICAgcmV0dXJuIHRydWU7
ICAgIAorCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVy
biBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZm9yRWFjaCk7CisgfQorfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE4LTUtMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAg
KzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtNS0zLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTgtNS0zLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTUtMy5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSw0OSArMSw0OSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
DQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQot
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
DQotaWQ6ICIxNS40LjQuMTgtNS0zIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtMy5qcyIsDQotDQotZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoaXNBcmcgaXMgQXJyYXkiLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIHJlcyA9IGZhbHNlOw0KLSAgdmFyIGEgPSBu
ZXcgQXJyYXkoKTsNCi0gIGEucmVzID0gdHJ1ZTsNCi0gIHZhciByZXN1bHQ7DQotICBmdW5jdGlv
biBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQotICB7DQotICAgIHJlc3VsdCA9IHRoaXMucmVz
Ow0KLSAgfQ0KLQ0KLSAgdmFyIGFyciA9IFsxXTsNCi0gIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4s
YSkNCi0gIGlmKCByZXN1bHQgPT09IHRydWUpDQotICAgIHJldHVybiB0cnVlOyAgICANCi0NCi0g
fSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4
aXN0cyhBcnJheS5wcm90b3R5cGUuZm9yRWFjaCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsK
K2lkOiAiMTUuNC40LjE4LTUtMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4xOC8xNS40LjQuMTgtNS0zLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJh
eS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoaXNBcmcgaXMgQXJyYXkiLAorCit0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsKKyAgdmFyIHJlcyA9IGZhbHNlOworICB2YXIgYSA9IG5ldyBBcnJheSgp
OworICBhLnJlcyA9IHRydWU7CisgIHZhciByZXN1bHQ7CisgIGZ1bmN0aW9uIGNhbGxiYWNrZm4o
dmFsLCBpZHgsIG9iaikKKyAgeworICAgIHJlc3VsdCA9IHRoaXMucmVzOworICB9CisKKyAgdmFy
IGFyciA9IFsxXTsKKyAgYXJyLmZvckVhY2goY2FsbGJhY2tmbixhKQorICBpZiggcmVzdWx0ID09
PSB0cnVlKQorICAgIHJldHVybiB0cnVlOyAgICAKKworIH0sCisKK3ByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZvckVh
Y2gpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC01LTMuanMKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE4LTUtNC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTUtNC5qcwkocmV2aXNpb24gMTk5
NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xOC01LTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTAgKzEsNTAgQEAKLS8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQot
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1F
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE4LTUtNCIsDQotDQotcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01
LTQuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0aGlz
QXJnIGlzIG9iamVjdCBmcm9tIG9iamVjdCB0ZW1wbGF0ZShwcm90b3R5cGUpIiwNCi0NCi10ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciByZXMgPSBmYWxzZTsNCi0gIHZhciByZXN1
bHQ7DQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQotICB7DQotICAgIHJl
c3VsdCA9IHRoaXMucmVzOw0KLSAgfQ0KLSAgDQotICBmdW5jdGlvbiBmb28oKXt9DQotICBmb28u
cHJvdG90eXBlLnJlcyA9IHRydWU7DQotICB2YXIgZiA9IG5ldyBmb28oKTsNCi0gIHZhciBhcnIg
PSBbMV07DQotICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuLGYpDQotICBpZiggcmVzdWx0ID09PSB0
cnVlKQ0KLSAgICByZXR1cm4gdHJ1ZTsgICAgDQotDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZv
ckVhY2gpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisv
Ly8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xOC01LTQiLAor
CitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40
LjE4LTUtNC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0
aGlzQXJnIGlzIG9iamVjdCBmcm9tIG9iamVjdCB0ZW1wbGF0ZShwcm90b3R5cGUpIiwKKwordGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciByZXMgPSBmYWxzZTsKKyAgdmFyIHJlc3Vs
dDsKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQorICB7CisgICAgcmVzdWx0
ID0gdGhpcy5yZXM7CisgIH0KKyAgCisgIGZ1bmN0aW9uIGZvbygpe30KKyAgZm9vLnByb3RvdHlw
ZS5yZXMgPSB0cnVlOworICB2YXIgZiA9IG5ldyBmb28oKTsKKyAgdmFyIGFyciA9IFsxXTsKKyAg
YXJyLmZvckVhY2goY2FsbGJhY2tmbixmKQorICBpZiggcmVzdWx0ID09PSB0cnVlKQorICAgIHJl
dHVybiB0cnVlOyAgICAKKworIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
eworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZvckVhY2gpOworIH0KK30pOwoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xOC01LTQuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHls
ZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4
LTUtNS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE4LTUtNS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC01LTUuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNTEgKzEsNTEgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE4LTUtNSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTUuanMiLA0KLQ0KLWRl
c2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0aGlzQXJnIGlzIG9iamVjdCBm
cm9tIG9iamVjdCB0ZW1wbGF0ZSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQot
ICB2YXIgcmVzID0gZmFsc2U7DQotICB2YXIgcmVzdWx0Ow0KLSAgZnVuY3Rpb24gY2FsbGJhY2tm
bih2YWwsIGlkeCwgb2JqKQ0KLSAgew0KLSAgICByZXN1bHQgPSB0aGlzLnJlczsNCi0gIH0NCi0N
Ci0gIGZ1bmN0aW9uIGZvbygpe30NCi0gIHZhciBmID0gbmV3IGZvbygpOw0KLSAgZi5yZXMgPSB0
cnVlOw0KLSAgDQotICB2YXIgYXJyID0gWzFdOw0KLSAgYXJyLmZvckVhY2goY2FsbGJhY2tmbixm
KQ0KLSAgaWYoIHJlc3VsdCA9PT0gdHJ1ZSkNCi0gICAgcmV0dXJuIHRydWU7ICAgIA0KLQ0KLSB9
LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhp
c3RzKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxNS40LjQuMTgtNS01IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTUuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5mb3JFYWNoIC0gdGhpc0FyZyBpcyBvYmplY3QgZnJvbSBvYmplY3QgdGVtcGxh
dGUiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIHJlcyA9IGZhbHNlOwor
ICB2YXIgcmVzdWx0OworICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopCisgIHsK
KyAgICByZXN1bHQgPSB0aGlzLnJlczsKKyAgfQorCisgIGZ1bmN0aW9uIGZvbygpe30KKyAgdmFy
IGYgPSBuZXcgZm9vKCk7CisgIGYucmVzID0gdHJ1ZTsKKyAgCisgIHZhciBhcnIgPSBbMV07Cisg
IGFyci5mb3JFYWNoKGNhbGxiYWNrZm4sZikKKyAgaWYoIHJlc3VsdCA9PT0gdHJ1ZSkKKyAgICBy
ZXR1cm4gdHJ1ZTsgICAgCisKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoKTsKKyB9Cit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTgtNS01LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
OC01LTYuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xOC01LTYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtNS02Lmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDUwICsxLDUwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xOC01LTYiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOC8xNS40LjQuMTgtNS02LmpzIiwNCi0NCi1k
ZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdGhpc0FyZyBpcyBmdW5jdGlv
biIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgcmVzID0gZmFsc2U7
DQotICB2YXIgcmVzdWx0Ow0KLSAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0K
LSAgew0KLSAgICByZXN1bHQgPSB0aGlzLnJlczsNCi0gIH0NCi0NCi0gIGZ1bmN0aW9uIGZvbygp
e30NCi0gIGZvby5yZXMgPSB0cnVlOw0KLSAgDQotICB2YXIgYXJyID0gWzFdOw0KLSAgYXJyLmZv
ckVhY2goY2FsbGJhY2tmbixmb28pDQotICBpZiggcmVzdWx0ID09PSB0cnVlKQ0KLSAgICByZXR1
cm4gdHJ1ZTsgICAgDQotDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZvckVhY2gpOw0KLSB9DQot
fSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8g
CisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwK
Ky8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xOC01LTYiLAorCitwYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtNi5qcyIsCisK
K2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0aGlzQXJnIGlzIGZ1bmN0
aW9uIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciByZXMgPSBmYWxzZTsK
KyAgdmFyIHJlc3VsdDsKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQorICB7
CisgICAgcmVzdWx0ID0gdGhpcy5yZXM7CisgIH0KKworICBmdW5jdGlvbiBmb28oKXt9CisgIGZv
by5yZXMgPSB0cnVlOworICAKKyAgdmFyIGFyciA9IFsxXTsKKyAgYXJyLmZvckVhY2goY2FsbGJh
Y2tmbixmb28pCisgIGlmKCByZXN1bHQgPT09IHRydWUpCisgICAgcmV0dXJuIHRydWU7ICAgIAor
CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4
aXN0cyhBcnJheS5wcm90b3R5cGUuZm9yRWFjaCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE4LTUtNi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMK
K0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtNy0xLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTgtNy0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTctMS5qcwkod29ya2luZyBjb3B5KQpA
QCAtMSw0OCArMSw0OCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQot
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6
ICIxNS40LjQuMTgtNy0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1
LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJh
eS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNvbnNpZGVyIG5ldyBlbGVtZW50cyBhZGRlZCB0
byBhcnJheSBhZnRlciB0aGUgY2FsbCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
IA0KLSANCi0gIHZhciBjYWxsQ250ID0gMDsNCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBp
ZHgsIG9iaikNCi0gIHsNCi0gICAgY2FsbENudCsrOyANCi0gICAgYXJyWzJdID0gMzsNCi0gICAg
YXJyWzVdID0gNjsNCi0gIH0NCi0NCi0gIHZhciBhcnIgPSBbMSwyLCw0LDVdOw0KLSAgYXJyLmZv
ckVhY2goY2FsbGJhY2tmbik7DQotICBpZiggY2FsbENudCA9PT0gNSkgICAgDQotICAgIHJldHVy
biB0cnVlOw0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAg
cmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoKTsNCi0gfQ0KLX0pOw0KKy8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTgtNy0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTEuanMiLAorCitkZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGRvZXNuJ3QgY29uc2lkZXIgbmV3IGVsZW1l
bnRzIGFkZGVkIHRvIGFycmF5IGFmdGVyIHRoZSBjYWxsIiwKKwordGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7IAorIAorICB2YXIgY2FsbENudCA9IDA7CisgIGZ1bmN0aW9uIGNhbGxiYWNrZm4o
dmFsLCBpZHgsIG9iaikKKyAgeworICAgIGNhbGxDbnQrKzsgCisgICAgYXJyWzJdID0gMzsKKyAg
ICBhcnJbNV0gPSA2OworICB9CisKKyAgdmFyIGFyciA9IFsxLDIsLDQsNV07CisgIGFyci5mb3JF
YWNoKGNhbGxiYWNrZm4pOworICBpZiggY2FsbENudCA9PT0gNSkgICAgCisgICAgcmV0dXJuIHRy
dWU7CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZm9yRWFjaCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE4LTctMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtNy0yLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTgtNy0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTctMi5qcwkod29ya2luZyBjb3B5
KQpAQCAtMSw0OSArMSw0OSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
DQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQot
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQot
aWQ6ICIxNS40LjQuMTgtNy0yIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40
LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJB
cnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IHZpc2l0IGRlbGV0ZWQgZWxlbWVudHMgaW4g
YXJyYXkgYWZ0ZXIgdGhlIGNhbGwiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAN
Ci0gDQotICB2YXIgY2FsbENudCA9IDA7DQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4
LCBvYmopDQotICB7DQotICAgIGlmKGNhbGxDbnQgPT0gMCkNCi0gICAgICBkZWxldGUgYXJyWzNd
Ow0KLSAgICBjYWxsQ250Kys7DQotICB9DQotDQotICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQot
ICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKQ0KLSAgaWYoIGNhbGxDbnQgPT09IDQpICAgIA0KLSAg
ICAgIHJldHVybiB0cnVlOyAgDQotICANCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZm9yRWFjaCk7
DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKwor
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE4LTctMiIsCisKK3BhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOC8xNS40LjQuMTgtNy0y
LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IHZp
c2l0IGRlbGV0ZWQgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgdGhlIGNhbGwiLAorCit0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCisgCisgIHZhciBjYWxsQ250ID0gMDsKKyAgZnVuY3Rpb24g
Y2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQorICB7CisgICAgaWYoY2FsbENudCA9PSAwKQorICAg
ICAgZGVsZXRlIGFyclszXTsKKyAgICBjYWxsQ250Kys7CisgIH0KKworICB2YXIgYXJyID0gWzEs
MiwzLDQsNV07CisgIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pCisgIGlmKCBjYWxsQ250ID09PSA0
KSAgICAKKyAgICAgIHJldHVybiB0cnVlOyAgCisgIAorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZvckVh
Y2gpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC03LTIuanMKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE4LTctMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTctMy5qcwkocmV2aXNpb24gMTk5
NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xOC03LTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDggKzEsNDggQEAKLS8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQot
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1F
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE4LTctMyIsDQotDQotcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03
LTMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZvckVhY2ggZG9lc24n
dCB2aXNpdCBkZWxldGVkIGVsZW1lbnRzIHdoZW4gQXJyYXkubGVuZ3RoIGlzIGRlY3JlYXNlZCIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KLSANCi0gIHZhciBjYWxsQ250ID0g
MDsNCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCi0gIHsNCi0gICAgYXJy
Lmxlbmd0aD0zOw0KLSAgICBjYWxsQ250Kys7DQotICB9DQotDQotICB2YXIgYXJyID0gWzEsMiwz
LDQsNV07DQotICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCi0gIGlmKCBjYWxsQ250ID09PSAz
KSAgICANCi0gICAgICByZXR1cm4gdHJ1ZTsgIA0KLSAgDQotIH0sDQotDQotcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
LmZvckVhY2gpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xOC03LTMi
LAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUu
NC40LjE4LTctMy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZvckVhY2gg
ZG9lc24ndCB2aXNpdCBkZWxldGVkIGVsZW1lbnRzIHdoZW4gQXJyYXkubGVuZ3RoIGlzIGRlY3Jl
YXNlZCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAKKyAKKyAgdmFyIGNhbGxDbnQg
PSAwOworICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopCisgIHsKKyAgICBhcnIu
bGVuZ3RoPTM7CisgICAgY2FsbENudCsrOworICB9CisKKyAgdmFyIGFyciA9IFsxLDIsMyw0LDVd
OworICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsKKyAgaWYoIGNhbGxDbnQgPT09IDMpICAgIAor
ICAgICAgcmV0dXJuIHRydWU7ICAKKyAgCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZm9yRWFjaCk7Cisg
fQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTctMy5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTgtNy00LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtNy00LmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4
LTctNC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1MCArMSw1MCBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTgtNy00IiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctNC5qcyIs
DQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNvbnNp
ZGVyIG5ld2x5IGFkZGVkIGVsZW1lbnRzIGluIHNwYXJzZSBhcnJheSIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7IA0KLSANCi0gIHZhciBjYWxsQ250ID0gMDsNCi0gIGZ1bmN0aW9u
IGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCi0gIHsNCi0gICAgYXJyWzEwMDBdID0gMzsNCi0g
ICAgY2FsbENudCsrOw0KLSAgfQ0KLQ0KLSAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQotICBh
cnJbMV0gPSAxOw0KLSAgYXJyWzJdID0gMjsNCi0gIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0K
LSAgaWYoIGNhbGxDbnQgPT09IDIpICAgIA0KLSAgICAgIHJldHVybiB0cnVlOyAgDQotICANCi0g
fSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4
aXN0cyhBcnJheS5wcm90b3R5cGUuZm9yRWFjaCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsK
K2lkOiAiMTUuNC40LjE4LTctNCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4xOC8xNS40LjQuMTgtNy00LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJh
eS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNvbnNpZGVyIG5ld2x5IGFkZGVkIGVsZW1lbnRz
IGluIHNwYXJzZSBhcnJheSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAKKyAKKyAg
dmFyIGNhbGxDbnQgPSAwOworICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopCisg
IHsKKyAgICBhcnJbMTAwMF0gPSAzOworICAgIGNhbGxDbnQrKzsKKyAgfQorCisgIHZhciBhcnIg
PSBuZXcgQXJyYXkoMTApOworICBhcnJbMV0gPSAxOworICBhcnJbMl0gPSAyOworICBhcnIuZm9y
RWFjaChjYWxsYmFja2ZuKTsKKyAgaWYoIGNhbGxDbnQgPT09IDIpICAgIAorICAgICAgcmV0dXJu
IHRydWU7ICAKKyAgCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7Cisg
IHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZm9yRWFjaCk7CisgfQorfSk7CgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE4LTctNC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMj
IC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtNy01
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTgtNy01LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTctNS5qcwkod29y
a2luZyBjb3B5KQpAQCAtMSw1MSArMSw1MSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0K
LS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7DQotaWQ6ICIxNS40LjQuMTgtNy01IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctNS5qcyIsDQotDQotZGVzY3Jp
cHRpb246ICJBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB2aXNpdHMgZGVsZXRlZCBlbGVtZW50IGlu
IGFycmF5IGFmdGVyIHRoZSBjYWxsIHdoZW4gc2FtZSBpbmRleCBpcyBhbHNvIHByZXNlbnQgaW4g
cHJvdG90eXBlIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQotIA0KLSAgdmFy
IGNhbGxDbnQgPSAwOw0KLSAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KLSAg
ew0KLSAgICBkZWxldGUgYXJyWzRdOw0KLSAgICBjYWxsQ250Kys7DQotICB9DQotDQotICBBcnJh
eS5wcm90b3R5cGVbNF0gPSA1Ow0KLQ0KLSAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KLSAgYXJy
LmZvckVhY2goY2FsbGJhY2tmbikNCi0gIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbNF07DQotICBp
ZiggY2FsbENudCA9PT0gNSkgICAgDQotICAgICAgcmV0dXJuIHRydWU7ICANCi0gIA0KLSB9LA0K
LQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3Rz
KEFycmF5LnByb3RvdHlwZS5mb3JFYWNoKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6
ICIxNS40LjQuMTgtNy01IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40
LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTUuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnBy
b3RvdHlwZS5mb3JFYWNoIHZpc2l0cyBkZWxldGVkIGVsZW1lbnQgaW4gYXJyYXkgYWZ0ZXIgdGhl
IGNhbGwgd2hlbiBzYW1lIGluZGV4IGlzIGFsc28gcHJlc2VudCBpbiBwcm90b3R5cGUiLAorCit0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCisgCisgIHZhciBjYWxsQ250ID0gMDsKKyAgZnVu
Y3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQorICB7CisgICAgZGVsZXRlIGFycls0XTsK
KyAgICBjYWxsQ250Kys7CisgIH0KKworICBBcnJheS5wcm90b3R5cGVbNF0gPSA1OworCisgIHZh
ciBhcnIgPSBbMSwyLDMsNCw1XTsKKyAgYXJyLmZvckVhY2goY2FsbGJhY2tmbikKKyAgZGVsZXRl
IEFycmF5LnByb3RvdHlwZVs0XTsKKyAgaWYoIGNhbGxDbnQgPT09IDUpICAgIAorICAgICAgcmV0
dXJuIHRydWU7ICAKKyAgCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZm9yRWFjaCk7CisgfQorfSk7CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE4LTctNS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgt
Ny1iLTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xOC03LWItMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC03LWIt
MS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NyArMSw0NyBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTgtNy1iLTEiLA0KLQ0KLXBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOC8xNS40LjQuMTgtNy1iLTEuanMi
LA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBjYWxsYmFja2Zu
IG5vdCBjYWxsZWQgZm9yIGluZGV4ZXMgbmV2ZXIgYmVlbiBhc3NpZ25lZCB2YWx1ZXMiLA0KLQ0K
LXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCi0gDQotICB2YXIgY2FsbENudCA9IDA7DQot
ICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQotICB7DQotICAgIGNhbGxDbnQr
KzsNCi0gIH0NCi0NCi0gIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KLSAgYXJyWzFdID0gdW5k
ZWZpbmVkOw0KLSAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQotICBpZiggY2FsbENudCA9PT0g
MSkgICAgDQotICAgIHJldHVybiB0cnVlOyAgICANCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZm9y
RWFjaCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8v
LyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE4LTctYi0xIiwK
KworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQu
NC4xOC03LWItMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZvckVhY2gg
LSBjYWxsYmFja2ZuIG5vdCBjYWxsZWQgZm9yIGluZGV4ZXMgbmV2ZXIgYmVlbiBhc3NpZ25lZCB2
YWx1ZXMiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCisgCisgIHZhciBjYWxsQ250
ID0gMDsKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQorICB7CisgICAgY2Fs
bENudCsrOworICB9CisKKyAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7CisgIGFyclsxXSA9IHVu
ZGVmaW5lZDsKKyAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7CisgIGlmKCBjYWxsQ250ID09PSAx
KSAgICAKKyAgICByZXR1cm4gdHJ1ZTsgICAgCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZm9yRWFjaCk7
CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTctYi0xLmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xOC03LWMtaWktMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTctYy1paS0xLmpzCShyZXZp
c2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE4LTctYy1paS0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUwICsxLDUw
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xOC03
LWMtaWktMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjE4LzE1LjQuNC4xOC03LWMtaWktMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0
ZXJzIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQotIA0KLSAgdmFyIGJQYXIg
PSB0cnVlOw0KLSAgdmFyIGJDYWxsZWQgPSBmYWxzZTsNCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4o
dmFsLCBpZHgsIG9iaikNCi0gIHsNCi0gICAgYkNhbGxlZCA9IHRydWU7DQotICAgIGlmKG9ialtp
ZHhdICE9PSB2YWwpDQotICAgICAgYlBhciA9IGZhbHNlOw0KLSAgfQ0KLQ0KLSAgdmFyIGFyciA9
IFswLDEsdHJ1ZSxudWxsLG5ldyBPYmplY3QoKSwiZml2ZSJdOw0KLSAgYXJyWzk5OTk5OV0gPSAt
Ni42Ow0KLSAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQotICBpZihiQ2FsbGVkID09PSB0cnVl
ICYmIGJQYXIgPT09IHRydWUpDQotICAgIHJldHVybiB0cnVlOw0KLSB9LA0KLQ0KLXByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3Rv
dHlwZS5mb3JFYWNoKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTgt
Ny1jLWlpLTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40
LjQuMTgvMTUuNC40LjE4LTctYy1paS0xLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90
b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJz
IiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAorIAorICB2YXIgYlBhciA9IHRydWU7
CisgIHZhciBiQ2FsbGVkID0gZmFsc2U7CisgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgs
IG9iaikKKyAgeworICAgIGJDYWxsZWQgPSB0cnVlOworICAgIGlmKG9ialtpZHhdICE9PSB2YWwp
CisgICAgICBiUGFyID0gZmFsc2U7CisgIH0KKworICB2YXIgYXJyID0gWzAsMSx0cnVlLG51bGws
bmV3IE9iamVjdCgpLCJmaXZlIl07CisgIGFycls5OTk5OTldID0gLTYuNjsKKyAgYXJyLmZvckVh
Y2goY2FsbGJhY2tmbik7CisgIGlmKGJDYWxsZWQgPT09IHRydWUgJiYgYlBhciA9PT0gdHJ1ZSkK
KyAgICByZXR1cm4gdHJ1ZTsKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoKTsKKyB9Cit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTgtNy1jLWlpLTEuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE4LTctYy1paS0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtNy1jLWlpLTIuanMJKHJldmlzaW9uIDE5
OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTgtNy1jLWlpLTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTAgKzEsNTAgQEAKLS8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE4LTctYy1paS0y
IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgv
MTUuNC40LjE4LTctYy1paS0yLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlw
ZS5mb3JFYWNoIC0gY2FsbGJhY2tmbiB0YWtlcyAzIGFyZ3VtZW50cyIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7IA0KLSANCi0gIHZhciBwYXJDbnQgPSAzOw0KLSAgdmFyIGJDYWxs
ZWQgPSBmYWxzZQ0KLSAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KLSAgeyAN
Ci0gICAgYkNhbGxlZCA9IHRydWU7DQotICAgIGlmKGFyZ3VtZW50cy5sZW5ndGggIT09IDMpDQot
ICAgICAgcGFyQ250ID0gYXJndW1lbnRzLmxlbmd0aDsgICAvL3ZlcmlmeSBpZiBjYWxsYmFja2Zu
IHdhcyBjYWxsZWQgd2l0aCAzIHBhcmFtZXRlcnMNCi0gIH0NCi0NCi0gIHZhciBhcnIgPSBbMCwx
LDIsMyw0LDUsNiw3LDgsOV07DQotICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCi0gIGlmKGJD
YWxsZWQgPT09IHRydWUgJiYgcGFyQ250ID09PSAzKQ0KLSAgICByZXR1cm4gdHJ1ZTsNCi0NCi0g
fSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4
aXN0cyhBcnJheS5wcm90b3R5cGUuZm9yRWFjaCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsK
K2lkOiAiMTUuNC40LjE4LTctYy1paS0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMi5qcyIsCisKK2Rlc2NyaXB0
aW9uOiAiQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBjYWxsYmFja2ZuIHRha2VzIDMgYXJndW1l
bnRzIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAorIAorICB2YXIgcGFyQ250ID0g
MzsKKyAgdmFyIGJDYWxsZWQgPSBmYWxzZQorICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4
LCBvYmopCisgIHsgCisgICAgYkNhbGxlZCA9IHRydWU7CisgICAgaWYoYXJndW1lbnRzLmxlbmd0
aCAhPT0gMykKKyAgICAgIHBhckNudCA9IGFyZ3VtZW50cy5sZW5ndGg7ICAgLy92ZXJpZnkgaWYg
Y2FsbGJhY2tmbiB3YXMgY2FsbGVkIHdpdGggMyBwYXJhbWV0ZXJzCisgIH0KKworICB2YXIgYXJy
ID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOworICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsKKyAg
aWYoYkNhbGxlZCA9PT0gdHJ1ZSAmJiBwYXJDbnQgPT09IDMpCisgICAgcmV0dXJuIHRydWU7CisK
KyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhp
c3RzKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTgtNy1jLWlpLTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsx
ICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTgtMS5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE4LTgtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC04LTEuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNDEgKzEsNDEgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LWlkOiAiMTUuNC40LjE4LTgtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAi
QXJyYXkucHJvdG90eXBlLmZvckVhY2ggZG9lc24ndCBjYWxsIGNhbGxiYWNrZm4gaWYgJ2xlbmd0
aCcgaXMgMCAoZW1wdHkgYXJyYXkpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsN
Ci0gIHZhciBjYWxsQ250ID0gMDsNCi0gIGZ1bmN0aW9uIGNiKCl7Y2FsbENudCsrfQ0KLSAgdmFy
IGkgPSBbXS5mb3JFYWNoKGNiKTsNCi0gIGlmIChjYWxsQ250ID09PSAwKSB7DQotICAgIHJldHVy
biB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
ew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoKTsNCi0gfQ0KLX0p
Ow0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAor
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisv
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTgtOC0xIiwKKworcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTEuanMiLAorCitk
ZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGRvZXNuJ3QgY2FsbCBjYWxsYmFj
a2ZuIGlmICdsZW5ndGgnIGlzIDAgKGVtcHR5IGFycmF5KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeworICB2YXIgY2FsbENudCA9IDA7CisgIGZ1bmN0aW9uIGNiKCl7Y2FsbENudCsr
fQorICB2YXIgaSA9IFtdLmZvckVhY2goY2IpOworICBpZiAoY2FsbENudCA9PT0gMCkgeworICAg
IHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZm9yRWFjaCk7CisgfQorfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE4LTgtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTgtOC0xMC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTgtMTAuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtOC0x
MC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NiArMSw0NiBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTgtOC0xMCIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTEwLmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gc3ViY2xhc3NlZCBh
cnJheSB3aGVuIGxlbmd0aCBpcyByZWR1Y2VkIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsNCi0gIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQotICBmdW5jdGlv
biBmb28oKSB7fQ0KLSAgdmFyIGYgPSBuZXcgZm9vKCk7DQotICBmLmxlbmd0aCA9IDE7DQotICAN
Ci0gIHZhciBjYWxsQ250ID0gMDsNCi0gIGZ1bmN0aW9uIGNiKCl7Y2FsbENudCsrfQ0KLSAgdmFy
IGkgPSBmLmZvckVhY2goY2IpOyAgDQotICBpZiAoY2FsbENudCA9PT0gMSkgew0KLSAgICByZXR1
cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZm9yRWFjaCk7DQotIH0NCi19
KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAK
Ky8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE4LTgtMTAiLAorCitwYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTgtMTAuanMiLAor
CitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gc3ViY2xhc3NlZCBhcnJh
eSB3aGVuIGxlbmd0aCBpcyByZWR1Y2VkIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
CisgIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7CisgIGZ1bmN0aW9uIGZvbygp
IHt9CisgIHZhciBmID0gbmV3IGZvbygpOworICBmLmxlbmd0aCA9IDE7CisgIAorICB2YXIgY2Fs
bENudCA9IDA7CisgIGZ1bmN0aW9uIGNiKCl7Y2FsbENudCsrfQorICB2YXIgaSA9IGYuZm9yRWFj
aChjYik7ICAKKyAgaWYgKGNhbGxDbnQgPT09IDEpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQor
IH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLmZvckVhY2gpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
OC04LTEwLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIwor
TEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC04LTExLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTgtOC0xMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC04LTExLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDUxICsxLDUxIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IN
Ci0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0v
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1p
ZDogIjE1LjQuNC4xOC04LTExIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40
LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTgtMTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAi
QXJyYXkucHJvdG90eXBlLmZvckVhY2ggZG9lc24ndCBtdXRhdGUgdGhlIGFycmF5IG9uIHdoaWNo
IGl0IGlzIGNhbGxlZCBvbiIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQot
ICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQotICB7DQotICAgIHJldHVybiB0
cnVlOw0KLSAgfQ0KLSAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KLSAgYXJyLmZvckVhY2goY2Fs
bGJhY2tmbik7DQotICBpZihhcnJbMF0gPT09IDEgJiYNCi0gICAgIGFyclsxXSA9PT0gMiAmJg0K
LSAgICAgYXJyWzJdID09PSAzICYmDQotICAgICBhcnJbM10gPT09IDQgJiYNCi0gICAgIGFycls0
XSA9PT0gNSkNCi0gIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotDQotIH0sDQotDQotcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLmZvckVhY2gpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisv
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQu
NC4xOC04LTExIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjE4LzE1LjQuNC4xOC04LTExLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5
cGUuZm9yRWFjaCBkb2Vzbid0IG11dGF0ZSB0aGUgYXJyYXkgb24gd2hpY2ggaXQgaXMgY2FsbGVk
IG9uIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgZnVuY3Rpb24gY2FsbGJh
Y2tmbih2YWwsIGlkeCwgb2JqKQorICB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyAgdmFyIGFy
ciA9IFsxLDIsMyw0LDVdOworICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsKKyAgaWYoYXJyWzBd
ID09PSAxICYmCisgICAgIGFyclsxXSA9PT0gMiAmJgorICAgICBhcnJbMl0gPT09IDMgJiYKKyAg
ICAgYXJyWzNdID09PSA0ICYmCisgICAgIGFycls0XSA9PT0gNSkKKyAgeworICAgIHJldHVybiB0
cnVlOworICB9CisKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAg
cmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoKTsKKyB9Cit9KTsKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTgtOC0xMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMj
IC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtOC0x
Mi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE4LTgtMTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtOC0xMi5qcwko
d29ya2luZyBjb3B5KQpAQCAtMSw1MSArMSw1MSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTgtOC0xMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTEyLmpzIiwNCi0NCi1k
ZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGRvZXNuJ3QgdmlzaXQgZXhwYW5k
b3MiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgdmFyIGNhbGxDbnQg
PSAwOw0KLSAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KLSAgew0KLSAgICBj
YWxsQ250Kys7DQotICB9DQotICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQotICBhcnJbImkiXSA9
IDEwOw0KLSAgYXJyW3RydWVdID0gMTE7DQotDQotICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsN
Ci0gIGlmKGNhbGxDbnQgPT0gNSkNCi0gIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotDQot
IH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5F
eGlzdHMoQXJyYXkucHJvdG90eXBlLmZvckVhY2gpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
CitpZDogIjE1LjQuNC4xOC04LTEyIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTEyLmpzIiwKKworZGVzY3JpcHRpb246ICJB
cnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IHZpc2l0IGV4cGFuZG9zIiwKKwordGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgdmFyIGNhbGxDbnQgPSAwOworICBmdW5jdGlvbiBj
YWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopCisgIHsKKyAgICBjYWxsQ250Kys7CisgIH0KKyAgdmFy
IGFyciA9IFsxLDIsMyw0LDVdOworICBhcnJbImkiXSA9IDEwOworICBhcnJbdHJ1ZV0gPSAxMTsK
KworICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsKKyAgaWYoY2FsbENudCA9PSA1KQorICB7Cisg
ICAgcmV0dXJuIHRydWU7CisgIH0KKworIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZvckVhY2gpOworIH0K
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC04LTEyLmpzCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
b2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xOC04LTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC04LTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgt
OC0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ2ICsxLDQ2IEBACi0vLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0K
LS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
Uw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xOC04LTIiLA0KLQ0KLXBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOC8xNS40LjQuMTgtOC0yLmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGRvZXNuJ3QgY2FsbCBj
YWxsYmFja2ZuIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVy
cmlkZGVuIHRvIG51bGwgKHR5cGUgY29udmVyc2lvbikpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsNCi0gIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQotICBm
dW5jdGlvbiBmb28oKSB7fQ0KLSAgdmFyIGYgPSBuZXcgZm9vKCk7DQotICBmLmxlbmd0aCA9IG51
bGw7DQotICANCi0gIHZhciBjYWxsQ250ID0gMDsNCi0gIGZ1bmN0aW9uIGNiKCl7Y2FsbENudCsr
fQ0KLSAgdmFyIGkgPSBmLmZvckVhY2goY2IpOyAgDQotICBpZiAoY2FsbENudCA9PT0gMCkgew0K
LSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZm9yRWFjaCk7
DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKwor
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE4LTgtMiIsCisKK3BhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOC8xNS40LjQuMTgtOC0y
LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNh
bGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGgg
b3ZlcnJpZGRlbiB0byBudWxsICh0eXBlIGNvbnZlcnNpb24pKSIsCisKK3Rlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOworICBm
dW5jdGlvbiBmb28oKSB7fQorICB2YXIgZiA9IG5ldyBmb28oKTsKKyAgZi5sZW5ndGggPSBudWxs
OworICAKKyAgdmFyIGNhbGxDbnQgPSAwOworICBmdW5jdGlvbiBjYigpe2NhbGxDbnQrK30KKyAg
dmFyIGkgPSBmLmZvckVhY2goY2IpOyAgCisgIGlmIChjYWxsQ250ID09PSAwKSB7CisgICAgcmV0
dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsK
KyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoKTsKKyB9Cit9KTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTgtOC0yLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC04
LTMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xOC04LTMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtOC0zLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDQ2ICsxLDQ2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
DQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsNCi1pZDogIjE1LjQuNC4xOC04LTMiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOC8xNS40LjQuMTgtOC0zLmpzIiwNCi0NCi1kZXNj
cmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGRvZXNuJ3QgY2FsbCBjYWxsYmFja2Zu
IGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRv
IGZhbHNlICh0eXBlIGNvbnZlcnNpb24pKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KLSAgZnVuY3Rpb24g
Zm9vKCkge30NCi0gIHZhciBmID0gbmV3IGZvbygpOw0KLSAgZi5sZW5ndGggPSBmYWxzZTsNCi0N
Ci0gIHZhciBjYWxsQ250ID0gMDsNCi0gIGZ1bmN0aW9uIGNiKCl7Y2FsbENudCsrfQ0KLSAgdmFy
IGkgPSBmLmZvckVhY2goY2IpOyAgDQotICBpZiAoY2FsbENudCA9PT0gMCkgew0KLSAgICByZXR1
cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZm9yRWFjaCk7DQotIH0NCi19
KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAK
Ky8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE4LTgtMyIsCisKK3BhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOC8xNS40LjQuMTgtOC0zLmpzIiwKKwor
ZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJh
Y2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRl
biB0byBmYWxzZSAodHlwZSBjb252ZXJzaW9uKSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKyAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsKKyAgZnVuY3Rpb24g
Zm9vKCkge30KKyAgdmFyIGYgPSBuZXcgZm9vKCk7CisgIGYubGVuZ3RoID0gZmFsc2U7CisKKyAg
dmFyIGNhbGxDbnQgPSAwOworICBmdW5jdGlvbiBjYigpe2NhbGxDbnQrK30KKyAgdmFyIGkgPSBm
LmZvckVhY2goY2IpOyAgCisgIGlmIChjYWxsQ250ID09PSAwKSB7CisgICAgcmV0dXJuIHRydWU7
CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJu
IGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoKTsKKyB9Cit9KTsKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTgtOC0zLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCAr
MSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC04LTQuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xOC04LTQuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtOC00LmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDQ2ICsxLDQ2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MN
Ci0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0v
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsN
Ci1pZDogIjE1LjQuNC4xOC04LTQiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjQvMTUuNC40LzE1LjQuNC4xOC8xNS40LjQuMTgtOC00LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjog
IkFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGRvZXNuJ3QgY2FsbCBjYWxsYmFja2ZuIGlmICdsZW5n
dGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIDAgKHR5cGUg
Y29udmVyc2lvbikpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGZvby5w
cm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQotICBmdW5jdGlvbiBmb28oKSB7fQ0KLSAg
dmFyIGYgPSBuZXcgZm9vKCk7DQotICBmLmxlbmd0aCA9IDA7DQotDQotICB2YXIgY2FsbENudCA9
IDA7DQotICBmdW5jdGlvbiBjYigpe2NhbGxDbnQrK30NCi0gIHZhciBpID0gZi5mb3JFYWNoKGNi
KTsgIA0KLSAgaWYgKGNhbGxDbnQgPT09IDApIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQot
IH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5F
eGlzdHMoQXJyYXkucHJvdG90eXBlLmZvckVhY2gpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
CitpZDogIjE1LjQuNC4xOC04LTQiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40
LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTgtNC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLmZvckVhY2ggZG9lc24ndCBjYWxsIGNhbGxiYWNrZm4gaWYgJ2xlbmd0aCcg
aXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gMCAodHlwZSBjb252
ZXJzaW9uKSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgZm9vLnByb3RvdHlw
ZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsKKyAgZnVuY3Rpb24gZm9vKCkge30KKyAgdmFyIGYgPSBu
ZXcgZm9vKCk7CisgIGYubGVuZ3RoID0gMDsKKworICB2YXIgY2FsbENudCA9IDA7CisgIGZ1bmN0
aW9uIGNiKCl7Y2FsbENudCsrfQorICB2YXIgaSA9IGYuZm9yRWFjaChjYik7ICAKKyAgaWYgKGNh
bGxDbnQgPT09IDApIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
LmZvckVhY2gpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC04LTQuanMKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE4LTgtNS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTgtNS5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xOC04LTUuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDYgKzEsNDYgQEAKLS8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE4LTgtNSIsDQot
DQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQu
NC4xOC04LTUuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZvckVhY2gg
ZG9lc24ndCBjYWxsIGNhbGxiYWNrZm4gaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJh
eSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gJzAnICh0eXBlIGNvbnZlcnNpb24pKSIsDQotDQotdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEs
IDIsIDMpOw0KLSAgZnVuY3Rpb24gZm9vKCkge30NCi0gIHZhciBmID0gbmV3IGZvbygpOw0KLSAg
Zi5sZW5ndGggPSAnMCc7DQotICANCi0gIHZhciBjYWxsQ250ID0gMDsNCi0gIGZ1bmN0aW9uIGNi
KCl7Y2FsbENudCsrfQ0KLSAgdmFyIGkgPSBmLmZvckVhY2goY2IpOyAgDQotICBpZiAoY2FsbENu
dCA9PT0gMCkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUuZm9yRWFjaCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE4LTgt
NSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOC8x
NS40LjQuMTgtOC01LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZm9yRWFj
aCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFy
cmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAnMCcgKHR5cGUgY29udmVyc2lvbikpIiwKKwordGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwg
MiwgMyk7CisgIGZ1bmN0aW9uIGZvbygpIHt9CisgIHZhciBmID0gbmV3IGZvbygpOworICBmLmxl
bmd0aCA9ICcwJzsKKyAgCisgIHZhciBjYWxsQ250ID0gMDsKKyAgZnVuY3Rpb24gY2IoKXtjYWxs
Q250Kyt9CisgIHZhciBpID0gZi5mb3JFYWNoKGNiKTsgIAorICBpZiAoY2FsbENudCA9PT0gMCkg
eworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZm9yRWFjaCk7Cisg
fQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTgtNS5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTgtOC02LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtOC02LmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4
LTgtNi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0OCArMSw0OCBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTgtOC02IiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTgtNi5qcyIs
DQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwg
Y2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3Zl
cnJpZGRlbiB3aXRoIG9iaiB3aXRoIHZhbHVlT2YpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsNCi0gIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQotICBmdW5j
dGlvbiBmb28oKSB7fQ0KLSAgdmFyIGYgPSBuZXcgZm9vKCk7DQotICANCi0gIHZhciBvID0geyB2
YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwO319Ow0KLSAgZi5sZW5ndGggPSBvOw0KLSAg
DQotICB2YXIgY2FsbENudCA9IDA7DQotICBmdW5jdGlvbiBjYigpe2NhbGxDbnQrK30NCi0gIHZh
ciBpID0gZi5mb3JFYWNoKGNiKTsgIA0KLSAgaWYgKGNhbGxDbnQgPT09IDApIHsNCi0gICAgcmV0
dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZvckVhY2gpOw0KLSB9DQot
fSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8g
CisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwK
Ky8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xOC04LTYiLAorCitwYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTgtNi5qcyIsCisK
K2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZvckVhY2ggZG9lc24ndCBjYWxsIGNhbGxi
YWNrZm4gaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRk
ZW4gd2l0aCBvYmogd2l0aCB2YWx1ZU9mKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
eworICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOworICBmdW5jdGlvbiBmb28o
KSB7fQorICB2YXIgZiA9IG5ldyBmb28oKTsKKyAgCisgIHZhciBvID0geyB2YWx1ZU9mOiBmdW5j
dGlvbiAoKSB7IHJldHVybiAwO319OworICBmLmxlbmd0aCA9IG87CisgIAorICB2YXIgY2FsbENu
dCA9IDA7CisgIGZ1bmN0aW9uIGNiKCl7Y2FsbENudCsrfQorICB2YXIgaSA9IGYuZm9yRWFjaChj
Yik7ICAKKyAgaWYgKGNhbGxDbnQgPT09IDApIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0s
CisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMo
QXJyYXkucHJvdG90eXBlLmZvckVhY2gpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC04
LTYuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTgtNy5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4
LTgtNy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC04LTcuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
NTMgKzEsNTMgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUu
NC40LjE4LTgtNyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQv
MTUuNC40LjE4LzE1LjQuNC4xOC04LTcuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmZvckVhY2ggZG9lc24ndCBjYWxsIGNhbGxiYWNrZm4gaWYgJ2xlbmd0aCcgaXMgMCAo
c3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogdy9vIHZhbHVlT2Yg
KHRvU3RyaW5nKSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgZm9vLnBy
b3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCi0gIGZ1bmN0aW9uIGZvbygpIHt9DQotICB2
YXIgZiA9IG5ldyBmb28oKTsNCi0gIA0KLSAgdmFyIG8gPSB7IHRvU3RyaW5nOiBmdW5jdGlvbiAo
KSB7IHJldHVybiAnMCc7fX07DQotICBmLmxlbmd0aCA9IG87DQotICANCi0gIC8vIG9iamVjdHMg
aW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsN
Ci0gIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQg
dmFsdWVPZigpIG1ldGhvZA0KLSAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVl
LCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KLSAgLy8gdG8gYSBudW1iZXIg
YnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQotICAv
LyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KLSAgdmFyIGNhbGxDbnQgPSAwOw0KLSAg
ZnVuY3Rpb24gY2IoKXtjYWxsQ250Kyt9DQotICB2YXIgaSA9IGYuZm9yRWFjaChjYik7ICANCi0g
IGlmIChjYWxsQ250ID09PSAwKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0K
LXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFy
cmF5LnByb3RvdHlwZS5mb3JFYWNoKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisv
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIx
NS40LjQuMTgtOC03IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQv
MTUuNC40LjE4LzE1LjQuNC4xOC04LTcuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3Rv
dHlwZS5mb3JFYWNoIGRvZXNuJ3QgY2FsbCBjYWxsYmFja2ZuIGlmICdsZW5ndGgnIGlzIDAgKHN1
YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHcvbyB2YWx1ZU9mICh0
b1N0cmluZykpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZvby5wcm90b3R5
cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7CisgIGZ1bmN0aW9uIGZvbygpIHt9CisgIHZhciBmID0g
bmV3IGZvbygpOworICAKKyAgdmFyIG8gPSB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVy
biAnMCc7fX07CisgIGYubGVuZ3RoID0gbzsKKyAgCisgIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUg
ZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsKKyAgLy8gdGhhdCBz
aW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0
aG9kCisgIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmll
cyB0byBjb252ZXJ0IHRoZSBvYmplY3QKKyAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMg
dG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlCisgIC8vIHJlc3VsdGluZyBzdHJp
bmcgdG8gYSBudW1iZXIuCisgIHZhciBjYWxsQ250ID0gMDsKKyAgZnVuY3Rpb24gY2IoKXtjYWxs
Q250Kyt9CisgIHZhciBpID0gZi5mb3JFYWNoKGNiKTsgIAorICBpZiAoY2FsbENudCA9PT0gMCkg
eworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZm9yRWFjaCk7Cisg
fQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4LTgtNy5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTgtOC04LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtOC04LmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE4
LTgtOC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw2MCArMSw2MCBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTgtOC04IiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTgtOC5qcyIs
DQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwg
Y2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3Zl
cnJpZGRlbiB3aXRoIFtdIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGZv
by5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQotICBmdW5jdGlvbiBmb28oKSB7fQ0K
LSAgdmFyIGYgPSBuZXcgZm9vKCk7DQotICANCi0gIGYubGVuZ3RoID0gW107DQotICANCi0gIC8v
IG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0
IG9iamVjdDsNCi0gIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhl
IGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KLSAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0
aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KLSAgLy8gdG8g
YSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcg
dGhlDQotICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KLSAgLy8NCi0gIC8vIFRo
ZSB0b1N0cmluZyggKSBtZXRob2Qgb24gQXJyYXkgY29udmVydHMgdGhlIGFycmF5IGVsZW1lbnRz
IHRvIHN0cmluZ3MsDQotICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0
aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQotICAvLyBiZXR3ZWVuLiBBbiBhcnJh
eSB3aXRoIG5vIGVsZW1lbnRzIGNvbnZlcnRzIHRvIHRoZSBlbXB0eSBzdHJpbmcsIHdoaWNoDQot
ICAvLyBjb252ZXJ0cyB0byB0aGUgbnVtYmVyIDAuIElmIGFuIGFycmF5IGhhcyBhIHNpbmdsZSBl
bGVtZW50IHRoYXQgaXMgYQ0KLSAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBh
IHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KLSAgLy8gdGhlbiBjb252ZXJ0
ZWQgYmFjayB0byBuIGl0c2VsZi4gSWYgYW4gYXJyYXkgY29udGFpbnMgbW9yZSB0aGFuIG9uZSBl
bGVtZW50LA0KLSAgLy8gb3IgaWYgaXRzIG9uZSBlbGVtZW50IGlzIG5vdCBhIG51bWJlciwgdGhl
IGFycmF5IGNvbnZlcnRzIHRvIE5hTi4NCi0gIHZhciBjYWxsQ250ID0gMDsNCi0gIGZ1bmN0aW9u
IGNiKCl7Y2FsbENudCsrfQ0KLSAgdmFyIGkgPSBmLmZvckVhY2goY2IpOyAgDQotICBpZiAoY2Fs
bENudCA9PT0gMCkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90
b3R5cGUuZm9yRWFjaCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisv
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE4
LTgtOCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4x
OC8xNS40LjQuMTgtOC04LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZm9y
RWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2Vk
IEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIFtdIiwKKwordGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7CisgIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7CisgIGZ1bmN0
aW9uIGZvbygpIHt9CisgIHZhciBmID0gbmV3IGZvbygpOworICAKKyAgZi5sZW5ndGggPSBbXTsK
KyAgCisgIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0
aGUgT2JqZWN0IG9iamVjdDsKKyAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBT
aW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kCisgIC8vIGRvZXMgbm90IHJldHVybiBh
IHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QKKyAg
Ly8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZl
cnRpbmcgdGhlCisgIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuCisgIC8vCisgIC8v
IFRoZSB0b1N0cmluZyggKSBtZXRob2Qgb24gQXJyYXkgY29udmVydHMgdGhlIGFycmF5IGVsZW1l
bnRzIHRvIHN0cmluZ3MsCisgIC8vIHRoZW4gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVu
YXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMgaW4KKyAgLy8gYmV0d2Vlbi4gQW4gYXJy
YXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaAor
ICAvLyBjb252ZXJ0cyB0byB0aGUgbnVtYmVyIDAuIElmIGFuIGFycmF5IGhhcyBhIHNpbmdsZSBl
bGVtZW50IHRoYXQgaXMgYQorICAvLyBudW1iZXIgbiwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIGEg
c3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4sIHdoaWNoIGlzCisgIC8vIHRoZW4gY29udmVydGVk
IGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxl
bWVudCwKKyAgLy8gb3IgaWYgaXRzIG9uZSBlbGVtZW50IGlzIG5vdCBhIG51bWJlciwgdGhlIGFy
cmF5IGNvbnZlcnRzIHRvIE5hTi4KKyAgdmFyIGNhbGxDbnQgPSAwOworICBmdW5jdGlvbiBjYigp
e2NhbGxDbnQrK30KKyAgdmFyIGkgPSBmLmZvckVhY2goY2IpOyAgCisgIGlmIChjYWxsQ250ID09
PSAwKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5mb3JFYWNo
KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTgtOC04LmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xOC04LTkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC04LTkuanMJKHJldmlzaW9uIDE5OTU0
OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTgtOC05LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYxICsxLDYxIEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xOC04LTkiLA0KLQ0KLXBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOC8xNS40LjQuMTgtOC05
LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGRvZXNuJ3Qg
Y2FsbCBjYWxsYmFja2ZuIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0
aCBvdmVycmlkZGVuIHdpdGggWzBdIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsN
Ci0gIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQotICBmdW5jdGlvbiBmb28o
KSB7fQ0KLSAgdmFyIGYgPSBuZXcgZm9vKCk7DQotICANCi0gIGYubGVuZ3RoID0gWzBdOw0KLSAg
DQotICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhl
IE9iamVjdCBvYmplY3Q7DQotICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNp
bmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCi0gIC8vIGRvZXMgbm90IHJldHVybiBh
IHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCi0g
IC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252
ZXJ0aW5nIHRoZQ0KLSAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCi0gIC8vDQot
ICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBl
bGVtZW50cyB0byBzdHJpbmdzLA0KLSAgLy8gdGhlbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY29u
Y2F0ZW5hdGluZyB0aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbg0KLSAgLy8gYmV0d2Vlbi4g
QW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3
aGljaA0KLSAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBz
aW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCi0gIC8vIG51bWJlciBuLCB0aGUgYXJyYXkgY29udmVy
dHMgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2ggaXMNCi0gIC8vIHRoZW4g
Y29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUgdGhh
biBvbmUgZWxlbWVudCwNCi0gIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1i
ZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQotDQotICB2YXIgY2FsbENudCA9IDA7DQot
ICBmdW5jdGlvbiBjYigpe2NhbGxDbnQrK30NCi0gIHZhciBpID0gZi5mb3JFYWNoKGNiKTsgIA0K
LSAgaWYgKGNhbGxDbnQgPT09IDApIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQot
DQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMo
QXJyYXkucHJvdG90eXBlLmZvckVhY2gpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDog
IjE1LjQuNC4xOC04LTkiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQu
NC8xNS40LjQuMTgvMTUuNC40LjE4LTgtOS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmZvckVhY2ggZG9lc24ndCBjYWxsIGNhbGxiYWNrZm4gaWYgJ2xlbmd0aCcgaXMgMCAo
c3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBbMF0iLAorCit0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAz
KTsKKyAgZnVuY3Rpb24gZm9vKCkge30KKyAgdmFyIGYgPSBuZXcgZm9vKCk7CisgIAorICBmLmxl
bmd0aCA9IFswXTsKKyAgCisgIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9m
IG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsKKyAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0
aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kCisgIC8vIGRvZXMg
bm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRo
ZSBvYmplY3QKKyAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRo
b2QgYW5kIGNvbnZlcnRpbmcgdGhlCisgIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIu
CisgIC8vCisgIC8vIFRoZSB0b1N0cmluZyggKSBtZXRob2Qgb24gQXJyYXkgY29udmVydHMgdGhl
IGFycmF5IGVsZW1lbnRzIHRvIHN0cmluZ3MsCisgIC8vIHRoZW4gcmV0dXJucyB0aGUgcmVzdWx0
IG9mIGNvbmNhdGVuYXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMgaW4KKyAgLy8gYmV0
d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3Ry
aW5nLCB3aGljaAorICAvLyBjb252ZXJ0cyB0byB0aGUgbnVtYmVyIDAuIElmIGFuIGFycmF5IGhh
cyBhIHNpbmdsZSBlbGVtZW50IHRoYXQgaXMgYQorICAvLyBudW1iZXIgbiwgdGhlIGFycmF5IGNv
bnZlcnRzIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4sIHdoaWNoIGlzCisgIC8vIHRo
ZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUg
dGhhbiBvbmUgZWxlbWVudCwKKyAgLy8gb3IgaWYgaXRzIG9uZSBlbGVtZW50IGlzIG5vdCBhIG51
bWJlciwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIE5hTi4KKworICB2YXIgY2FsbENudCA9IDA7Cisg
IGZ1bmN0aW9uIGNiKCl7Y2FsbENudCsrfQorICB2YXIgaSA9IGYuZm9yRWFjaChjYik7ICAKKyAg
aWYgKGNhbGxDbnQgPT09IDApIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJv
dG90eXBlLmZvckVhY2gpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOC04LTkuanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTAtMS5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTAtMS5qcwko
cmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xOS0wLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzYgKzEsMzYg
QEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyAN
Ci0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0v
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiANCi0NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE5
LTAtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40
LjE5LzE1LjQuNC4xOS0wLTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBl
Lm1hcCBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24iLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgew0KLSAgdmFyIGYgPSBBcnJheS5wcm90b3R5cGUubWFwOw0KLSAgaWYgKHR5cGVvZihm
KSA9PT0gImZ1bmN0aW9uIikgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfQ0KLX0pOw0K
Ky8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xOS0wLTEiLAorCitwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTAtMS5qcyIsCisKK2Rl
c2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLm1hcCBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24i
LAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGYgPSBBcnJheS5wcm90b3R5
cGUubWFwOworICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7CisgICAgcmV0dXJuIHRy
dWU7CisgIH0KKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTktMC0xLmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xOS0wLTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS0wLTIuanMJKHJldmlzaW9u
IDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMTktMC0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5IEBACi0vLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
Rg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xOS0wLTIiLA0K
LQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOS8xNS40
LjQuMTktMC0yLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5tYXAubGVu
Z3RoIG11c3QgYmUgMSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBpZiAo
QXJyYXkucHJvdG90eXBlLm1hcC5sZW5ndGggPT09IDEpIHsNCi0gICAgcmV0dXJuIHRydWU7DQot
ICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLm1hcCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggeworaWQ6ICIxNS40LjQuMTktMC0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0wLTIuanMiLAorCitkZXNjcmlwdGlvbjog
IkFycmF5LnByb3RvdHlwZS5tYXAubGVuZ3RoIG11c3QgYmUgMSIsCisKK3Rlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworICBpZiAoQXJyYXkucHJvdG90eXBlLm1hcC5sZW5ndGggPT09IDEpIHsK
KyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLm1hcCk7CisgfQorfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE5LTAtMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTktNC0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTktNC0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTQtMS5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw0NSArMSw0NSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTktNC0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTQtMS5qcyIsDQotDQot
ZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBUeXBlRXJyb3IgaWYgY2Fs
bGJhY2tmbiBpcyB1bmRlZmluZWQiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LQ0KLSAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQotICB0cnkgew0KLSAgICBhcnIubWFwKCk7
ICAgIA0KLSAgfQ0KLSAgY2F0Y2goZSkgew0KLSAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9y
KQ0KLSAgICAgIHJldHVybiB0cnVlOyAgDQotICB9DQotDQotIH0sDQotDQotcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
Lm1hcCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8v
LyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE5LTQtMSIsCisK
K3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOS8xNS40LjQu
MTktNC0xLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBU
eXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyB1bmRlZmluZWQiLAorCit0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsKKworICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsKKyAgdHJ5IHsKKyAgICBh
cnIubWFwKCk7ICAgIAorICB9CisgIGNhdGNoKGUpIHsKKyAgICBpZihlIGluc3RhbmNlb2YgVHlw
ZUVycm9yKQorICAgICAgcmV0dXJuIHRydWU7ICAKKyAgfQorCisgfSwKKworcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUu
bWFwKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTktNC0xLmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xOS00LTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS00LTIuanMJKHJldmlzaW9uIDE5
OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTktNC0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ1ICsxLDQ1IEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQot
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xOS00LTIiLA0KLQ0KLXBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOS8xNS40LjQuMTkt
NC0yLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5tYXAgdGhyb3dzIFJl
ZmVyZW5jZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgdW5yZWZlcmVuY2VkIiwNCi0NCi10ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KLSAg
dHJ5IHsNCi0gICAgYXJyLm1hcChmb28pOyAgICANCi0gIH0NCi0gIGNhdGNoKGUpIHsNCi0gICAg
aWYoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKQ0KLSAgICAgIHJldHVybiB0cnVlOyAgDQot
ICB9DQotDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICBy
ZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLm1hcCk7DQotIH0NCi19KTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKK2lkOiAiMTUuNC40LjE5LTQtMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4xOS8xNS40LjQuMTktNC0yLmpzIiwKKworZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBSZWZlcmVuY2VFcnJvciBpZiBjYWxsYmFja2Zu
IGlzIHVucmVmZXJlbmNlZCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgIHZh
ciBhcnIgPSBuZXcgQXJyYXkoMTApOworICB0cnkgeworICAgIGFyci5tYXAoZm9vKTsgICAgCisg
IH0KKyAgY2F0Y2goZSkgeworICAgIGlmKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikKKyAg
ICAgIHJldHVybiB0cnVlOyAgCisgIH0KKworIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLm1hcCk7CisgfQor
fSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTQtMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTktNC0zLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTktNC0zLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTQt
My5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NSArMSw0NSBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTktNC0zIiwNCi0NCi1wYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTQtMy5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBUeXBlRXJyb3IgaWYg
Y2FsbGJhY2tmbiBpcyBudWxsIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0N
Ci0gIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KLSAgdHJ5IHsNCi0gICAgYXJyLm1hcChudWxs
KTsgICAgDQotICB9DQotICBjYXRjaChlKSB7DQotICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJy
b3IpDQotICAgICAgcmV0dXJuIHRydWU7ICANCi0gIH0NCi0NCi0gfSwNCi0NCi1wcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUubWFwKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
Ly8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTktNC0zIiwK
KworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQu
NC4xOS00LTMuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5tYXAgdGhyb3dz
IFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG51bGwiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsKKworICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsKKyAgdHJ5IHsKKyAgICBhcnIu
bWFwKG51bGwpOyAgICAKKyAgfQorICBjYXRjaChlKSB7CisgICAgaWYoZSBpbnN0YW5jZW9mIFR5
cGVFcnJvcikKKyAgICAgIHJldHVybiB0cnVlOyAgCisgIH0KKworIH0sCisKK3ByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
Lm1hcCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTQtMy5qcwpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMTktNC00LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTktNC00LmpzCShyZXZpc2lvbiAx
OTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE5LTQtNC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NSArMSw0NSBAQAotLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYN
Ci0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0K
LUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTktNC00IiwNCi0NCi1w
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5
LTQtNC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBU
eXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBib29sZWFuIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsNCi0NCi0gIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KLSAgdHJ5IHsNCi0g
ICAgYXJyLm1hcCh0cnVlKTsgICAgDQotICB9DQotICBjYXRjaChlKSB7DQotICAgIGlmKGUgaW5z
dGFuY2VvZiBUeXBlRXJyb3IpDQotICAgICAgcmV0dXJuIHRydWU7ICANCi0gIH0NCi0NCi0gfSwN
Ci0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0
cyhBcnJheS5wcm90b3R5cGUubWFwKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisv
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIx
NS40LjQuMTktNC00IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQv
MTUuNC40LjE5LzE1LjQuNC4xOS00LTQuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3Rv
dHlwZS5tYXAgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIGJvb2xlYW4iLAorCit0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsK
KyAgdHJ5IHsKKyAgICBhcnIubWFwKHRydWUpOyAgICAKKyAgfQorICBjYXRjaChlKSB7CisgICAg
aWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikKKyAgICAgIHJldHVybiB0cnVlOyAgCisgIH0KKwor
IH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLm1hcCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTQt
NC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTktNC01LmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTkt
NC01LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTQtNS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0
NSArMSw0NSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
DQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQot
Ly8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40
LjQuMTktNC01IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMTkvMTUuNC40LjE5LTQtNS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90
b3R5cGUubWFwIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudW1iZXIiLA0KLQ0K
LXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgdmFyIGFyciA9IG5ldyBBcnJheSgx
MCk7DQotICB0cnkgew0KLSAgICBhcnIubWFwKDUpOyAgICANCi0gIH0NCi0gIGNhdGNoKGUpIHsN
Ci0gICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCi0gICAgICByZXR1cm4gdHJ1ZTsgIA0K
LSAgfQ0KLQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAg
cmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5tYXApOw0KLSB9DQotfSk7DQorLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7CitpZDogIjE1LjQuNC4xOS00LTUiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTQtNS5qcyIsCisKK2Rlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLm1hcCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMg
bnVtYmVyIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgdmFyIGFyciA9IG5l
dyBBcnJheSgxMCk7CisgIHRyeSB7CisgICAgYXJyLm1hcCg1KTsgICAgCisgIH0KKyAgY2F0Y2go
ZSkgeworICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpCisgICAgICByZXR1cm4gdHJ1ZTsg
IAorICB9CisKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0
dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5tYXApOworIH0KK30pOwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xOS00LTUuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsx
ICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTQtNi5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE5LTQtNi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS00LTYuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LWlkOiAiMTUuNC40LjE5LTQtNiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTYuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAi
QXJyYXkucHJvdG90eXBlLm1hcCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgc3Ry
aW5nIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gIHZhciBhcnIgPSBu
ZXcgQXJyYXkoMTApOw0KLSAgdHJ5IHsNCi0gICAgYXJyLm1hcCgiYWJjIik7ICAgIA0KLSAgfQ0K
LSAgY2F0Y2goZSkgew0KLSAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KLSAgICAgIHJl
dHVybiB0cnVlOyAgDQotICB9DQotDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLm1hcCk7DQotIH0N
Ci19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8v
LyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisv
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE5LTQtNiIsCisKK3BhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOS8xNS40LjQuMTktNC02LmpzIiwK
KworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBUeXBlRXJyb3IgaWYg
Y2FsbGJhY2tmbiBpcyBzdHJpbmciLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKwor
ICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsKKyAgdHJ5IHsKKyAgICBhcnIubWFwKCJhYmMiKTsg
ICAgCisgIH0KKyAgY2F0Y2goZSkgeworICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpCisg
ICAgICByZXR1cm4gdHJ1ZTsgIAorICB9CisKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5tYXApOworIH0K
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS00LTYuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE5LTQtNy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTQtNy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS00
LTcuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE5LTQtNyIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTcuanMiLA0K
LQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLm1hcCB0aHJvd3MgVHlwZUVycm9yIGlm
IGNhbGxiYWNrZm4gaXMgT2JqZWN0IHdpdGhvdXQgQ2FsbCBpbnRlcm5hbCBtZXRob2QiLA0KLQ0K
LXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgdmFyIGFyciA9IG5ldyBBcnJheSgx
MCk7DQotICB0cnkgew0KLSAgICBhcnIubWFwKG5ldyBPYmplY3QoKSk7ICAgIA0KLSAgfQ0KLSAg
Y2F0Y2goZSkgew0KLSAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KLSAgICAgIHJldHVy
biB0cnVlOyAgDQotICB9DQotDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLm1hcCk7DQotIH0NCi19
KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAK
Ky8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE5LTQtNyIsCisKK3BhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOS8xNS40LjQuMTktNC03LmpzIiwKKwor
ZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBUeXBlRXJyb3IgaWYgY2Fs
bGJhY2tmbiBpcyBPYmplY3Qgd2l0aG91dCBDYWxsIGludGVybmFsIG1ldGhvZCIsCisKK3Rlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOworICB0
cnkgeworICAgIGFyci5tYXAobmV3IE9iamVjdCgpKTsgICAgCisgIH0KKyAgY2F0Y2goZSkgewor
ICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpCisgICAgICByZXR1cm4gdHJ1ZTsgIAorICB9
CisKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZu
RXhpc3RzKEFycmF5LnByb3RvdHlwZS5tYXApOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
OS00LTcuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitM
RgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTQtOC5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE5LTQtOC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS00LTguanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
Lg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAi
MTUuNC40LjE5LTQtOCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40
LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTguanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXku
cHJvdG90eXBlLm1hcCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgb2JqZWN0IiwN
Ci0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gIHZhciBhcnIgPSBuZXcgQXJy
YXkoMTApOw0KLSAgdHJ5IHsNCi0gICAgYXJyLm1hcCh7fSk7ICAgIA0KLSAgfQ0KLSAgY2F0Y2go
ZSkgew0KLSAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KLSAgICAgIHJldHVybiB0cnVl
OyAgDQotICB9DQotDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLm1hcCk7DQotIH0NCi19KTsNCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE5LTQtOCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOS8xNS40LjQuMTktNC04LmpzIiwKKworZGVzY3Jp
cHRpb246ICJBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tm
biBpcyBvYmplY3QiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICB2YXIgYXJy
ID0gbmV3IEFycmF5KDEwKTsKKyAgdHJ5IHsKKyAgICBhcnIubWFwKHt9KTsgICAgCisgIH0KKyAg
Y2F0Y2goZSkgeworICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpCisgICAgICByZXR1cm4g
dHJ1ZTsgIAorICB9CisKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsK
KyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5tYXApOworIH0KK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xOS00LTguanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTUtMS5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE5LTUtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS01LTEuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggew0KLWlkOiAiMTUuNC40LjE5LTUtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTEuanMiLA0KLQ0KLWRlc2NyaXB0
aW9uOiAiQXJyYXkucHJvdG90eXBlLm1hcCAtIHRoaXNBcmcgbm90IHBhc3NlZCIsDQotDQotdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgaW5uZXJUaGlzQ29ycmVjdCA9IGZhbHNl
Ow0KLSAgDQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQotICB7DQotICAg
ICBpbm5lclRoaXNDb3JyZWN0ID0gdGhpcz09PWZuR2xvYmFsT2JqZWN0KCk7DQotICAgICByZXR1
cm4gdHJ1ZTsNCi0gIH0NCi0NCi0gIFsxXS5tYXAoY2FsbGJhY2tmbik7DQotICByZXR1cm4gaW5u
ZXJUaGlzQ29ycmVjdDsgICAgDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLm1hcCk7DQotIH0NCi19
KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAK
Ky8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE5LTUtMSIsCisKK3BhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOS8xNS40LjQuMTktNS0xLmpzIiwKKwor
ZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubWFwIC0gdGhpc0FyZyBub3QgcGFzc2VkIiwK
KwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBpbm5lclRoaXNDb3JyZWN0ID0g
ZmFsc2U7CisgIAorICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopCisgIHsKKyAg
ICAgaW5uZXJUaGlzQ29ycmVjdCA9IHRoaXM9PT1mbkdsb2JhbE9iamVjdCgpOworICAgICByZXR1
cm4gdHJ1ZTsKKyAgfQorCisgIFsxXS5tYXAoY2FsbGJhY2tmbik7CisgIHJldHVybiBpbm5lclRo
aXNDb3JyZWN0OyAgICAKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsK
KyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5tYXApOworIH0KK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xOS01LTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTUtMi5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE5LTUtMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS01LTIuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDggKzEsNDggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggew0KLWlkOiAiMTUuNC40LjE5LTUtMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTIuanMiLA0KLQ0KLWRlc2NyaXB0
aW9uOiAiQXJyYXkucHJvdG90eXBlLm1hcCAtIHRoaXNBcmcgaXMgT2JqZWN0IiwNCi0NCi10ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciByZXMgPSBmYWxzZTsNCi0gIHZhciBvID0g
bmV3IE9iamVjdCgpOw0KLSAgby5yZXMgPSB0cnVlOw0KLSAgZnVuY3Rpb24gY2FsbGJhY2tmbih2
YWwsIGlkeCwgb2JqKQ0KLSAgew0KLSAgICByZXR1cm4gdGhpcy5yZXM7DQotICB9DQotDQotICB2
YXIgc3JjQXJyID0gWzFdOw0KLSAgdmFyIHJlc0FyciA9IHNyY0Fyci5tYXAoY2FsbGJhY2tmbixv
KTsNCi0gIGlmKCByZXNBcnJbMF0gPT09IHRydWUpDQotICAgIHJldHVybiB0cnVlOyAgICANCi0N
Ci0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUubWFwKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxNS40LjQuMTktNS0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTIuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5tYXAgLSB0aGlzQXJnIGlzIE9iamVjdCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeworICB2YXIgcmVzID0gZmFsc2U7CisgIHZhciBvID0gbmV3IE9iamVjdCgpOwor
ICBvLnJlcyA9IHRydWU7CisgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikKKyAg
eworICAgIHJldHVybiB0aGlzLnJlczsKKyAgfQorCisgIHZhciBzcmNBcnIgPSBbMV07CisgIHZh
ciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4sbyk7CisgIGlmKCByZXNBcnJbMF0gPT09
IHRydWUpCisgICAgcmV0dXJuIHRydWU7ICAgIAorCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubWFwKTsK
KyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTktNS0yLmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xOS01LTMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS01LTMuanMJKHJldmlzaW9uIDE5OTU0OSkK
KysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTktNS0zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ4ICsxLDQ4IEBACi0vLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0v
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xOS01LTMiLA0KLQ0KLXBhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOS8xNS40LjQuMTktNS0zLmpz
IiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5tYXAgLSB0aGlzQXJnIGlzIEFy
cmF5IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciByZXMgPSBmYWxz
ZTsNCi0gIHZhciBhID0gbmV3IEFycmF5KCk7DQotICBhLnJlcyA9IHRydWU7DQotICBmdW5jdGlv
biBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQotICB7DQotICAgIHJldHVybiB0aGlzLnJlczsN
Ci0gIH0NCi0NCi0gIHZhciBzcmNBcnIgPSBbMV07DQotICB2YXIgcmVzQXJyID0gc3JjQXJyLm1h
cChjYWxsYmFja2ZuLGEpOw0KLSAgaWYoIHJlc0FyclswXSA9PT0gdHJ1ZSkNCi0gICAgcmV0dXJu
IHRydWU7ICAgIA0KLQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
ew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5tYXApOw0KLSB9DQotfSk7DQor
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xOS01LTMiLAorCitwYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTUtMy5qcyIsCisKK2Rlc2Ny
aXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLm1hcCAtIHRoaXNBcmcgaXMgQXJyYXkiLAorCit0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIHJlcyA9IGZhbHNlOworICB2YXIgYSA9IG5l
dyBBcnJheSgpOworICBhLnJlcyA9IHRydWU7CisgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBp
ZHgsIG9iaikKKyAgeworICAgIHJldHVybiB0aGlzLnJlczsKKyAgfQorCisgIHZhciBzcmNBcnIg
PSBbMV07CisgIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4sYSk7CisgIGlmKCBy
ZXNBcnJbMF0gPT09IHRydWUpCisgICAgcmV0dXJuIHRydWU7ICAgIAorCisgfSwKKworcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90
b3R5cGUubWFwKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTktNS0zLmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xOS01LTQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS01LTQuanMJKHJldmlz
aW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMTktNS00LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUwICsxLDUwIEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4xOS01LTQiLA0K
LQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOS8xNS40
LjQuMTktNS00LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5tYXAgLSB0
aGlzQXJnIGlzIG9iamVjdCBmcm9tIG9iamVjdCB0ZW1wbGF0ZShwcm90b3R5cGUpIiwNCi0NCi10
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciByZXMgPSBmYWxzZTsNCi0gIGZ1bmN0
aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCi0gIHsNCi0gICAgcmV0dXJuIHRoaXMucmVz
Ow0KLSAgfQ0KLSAgDQotICBmdW5jdGlvbiBmb28oKXt9DQotICBmb28ucHJvdG90eXBlLnJlcyA9
IHRydWU7DQotICB2YXIgZiA9IG5ldyBmb28oKTsNCi0gIA0KLSAgdmFyIHNyY0FyciA9IFsxXTsN
Ci0gIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4sZik7DQotICBpZiggcmVzQXJy
WzBdID09PSB0cnVlKQ0KLSAgICByZXR1cm4gdHJ1ZTsgICAgDQotDQotIH0sDQotDQotcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJv
dG90eXBlLm1hcCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE5LTUt
NCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOS8x
NS40LjQuMTktNS00LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubWFwIC0g
dGhpc0FyZyBpcyBvYmplY3QgZnJvbSBvYmplY3QgdGVtcGxhdGUocHJvdG90eXBlKSIsCisKK3Rl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgcmVzID0gZmFsc2U7CisgIGZ1bmN0aW9u
IGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikKKyAgeworICAgIHJldHVybiB0aGlzLnJlczsKKyAg
fQorICAKKyAgZnVuY3Rpb24gZm9vKCl7fQorICBmb28ucHJvdG90eXBlLnJlcyA9IHRydWU7Cisg
IHZhciBmID0gbmV3IGZvbygpOworICAKKyAgdmFyIHNyY0FyciA9IFsxXTsKKyAgdmFyIHJlc0Fy
ciA9IHNyY0Fyci5tYXAoY2FsbGJhY2tmbixmKTsKKyAgaWYoIHJlc0FyclswXSA9PT0gdHJ1ZSkK
KyAgICByZXR1cm4gdHJ1ZTsgICAgCisKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5tYXApOworIH0KK30p
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4xOS01LTQuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1z
dHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjE5LTUtNS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTUtNS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS01LTUu
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTAgKzEsNTAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQot
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE5LTUtNSIsDQotDQotcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTUuanMiLA0KLQ0K
LWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLm1hcCAtIHRoaXNBcmcgaXMgb2JqZWN0IGZy
b20gb2JqZWN0IHRlbXBsYXRlIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0g
IHZhciByZXMgPSBmYWxzZTsNCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikN
Ci0gIHsNCi0gICAgcmV0dXJuIHRoaXMucmVzOw0KLSAgfQ0KLQ0KLSAgZnVuY3Rpb24gZm9vKCl7
fQ0KLSAgdmFyIGYgPSBuZXcgZm9vKCk7DQotICBmLnJlcyA9IHRydWU7DQotICANCi0gIHZhciBz
cmNBcnIgPSBbMV07DQotICB2YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuLGYpOw0K
LSAgaWYoIHJlc0FyclswXSA9PT0gdHJ1ZSkNCi0gICAgcmV0dXJuIHRydWU7ICAgIA0KLQ0KLSB9
LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhp
c3RzKEFycmF5LnByb3RvdHlwZS5tYXApOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDog
IjE1LjQuNC4xOS01LTUiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQu
NC8xNS40LjQuMTkvMTUuNC40LjE5LTUtNS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLm1hcCAtIHRoaXNBcmcgaXMgb2JqZWN0IGZyb20gb2JqZWN0IHRlbXBsYXRlIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciByZXMgPSBmYWxzZTsKKyAgZnVuY3Rp
b24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQorICB7CisgICAgcmV0dXJuIHRoaXMucmVzOwor
ICB9CisKKyAgZnVuY3Rpb24gZm9vKCl7fQorICB2YXIgZiA9IG5ldyBmb28oKTsKKyAgZi5yZXMg
PSB0cnVlOworICAKKyAgdmFyIHNyY0FyciA9IFsxXTsKKyAgdmFyIHJlc0FyciA9IHNyY0Fyci5t
YXAoY2FsbGJhY2tmbixmKTsKKyAgaWYoIHJlc0FyclswXSA9PT0gdHJ1ZSkKKyAgICByZXR1cm4g
dHJ1ZTsgICAgCisKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAg
cmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5tYXApOworIH0KK30pOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xOS01LTUuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTUtNi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE5LTUtNi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS01LTYuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNDkgKzEsNDkgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
Uw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0K
LS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
ew0KLWlkOiAiMTUuNC40LjE5LTUtNiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTYuanMiLA0KLQ0KLWRlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLm1hcCAtIHRoaXNBcmcgaXMgZnVuY3Rpb24iLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIHJlcyA9IGZhbHNlOw0KLSAgZnVuY3Rpb24g
Y2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KLSAgew0KLSAgICByZXR1cm4gdGhpcy5yZXM7DQot
ICB9DQotDQotICBmdW5jdGlvbiBmb28oKXt9DQotICBmb28ucmVzID0gdHJ1ZTsNCi0gIA0KLSAg
dmFyIHNyY0FyciA9IFsxXTsNCi0gIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4s
Zm9vKTsNCi0gIGlmKCByZXNBcnJbMF0gPT09IHRydWUpDQotICAgIHJldHVybiB0cnVlOyAgICAN
Ci0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVy
biBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubWFwKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
eworaWQ6ICIxNS40LjQuMTktNS02IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTYuanMiLAorCitkZXNjcmlwdGlvbjogIkFy
cmF5LnByb3RvdHlwZS5tYXAgLSB0aGlzQXJnIGlzIGZ1bmN0aW9uIiwKKwordGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7CisgIHZhciByZXMgPSBmYWxzZTsKKyAgZnVuY3Rpb24gY2FsbGJhY2tm
bih2YWwsIGlkeCwgb2JqKQorICB7CisgICAgcmV0dXJuIHRoaXMucmVzOworICB9CisKKyAgZnVu
Y3Rpb24gZm9vKCl7fQorICBmb28ucmVzID0gdHJ1ZTsKKyAgCisgIHZhciBzcmNBcnIgPSBbMV07
CisgIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4sZm9vKTsKKyAgaWYoIHJlc0Fy
clswXSA9PT0gdHJ1ZSkKKyAgICByZXR1cm4gdHJ1ZTsgICAgCisKKyB9LAorCitwcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlw
ZS5tYXApOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS01LTYuanMKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjE5LTUtNy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTUtNy5qcwkocmV2aXNpb24g
MTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4xOS01LTcuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTYgKzEsNTYgQEAKLS8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
DQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE5LTUtNyIsDQot
DQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQu
NC4xOS01LTcuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLm1hcCByZXR1
cm5zIGFuIGVtcHR5IGFycmF5IGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxl
bmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHcvbyB2YWx1ZU9mICh0b1N0cmluZykpIiwNCi0NCi10
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXko
MSwgMiwgMyk7DQotICBmdW5jdGlvbiBmb28oKSB7fQ0KLSAgdmFyIGYgPSBuZXcgZm9vKCk7DQot
ICANCi0gIHZhciBvID0geyB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gJzAnO319Ow0K
LSAgZi5sZW5ndGggPSBvOw0KLSAgDQotICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQg
dmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQotICAvLyB0aGF0IHNpbXBseSBy
ZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCi0g
IC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBj
b252ZXJ0IHRoZSBvYmplY3QNCi0gIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3Ry
aW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KLSAgLy8gcmVzdWx0aW5nIHN0cmluZyB0
byBhIG51bWJlci4NCi0NCi0gIGZ1bmN0aW9uIGNiKCl7fQ0KLSAgdmFyIGEgPSBmLm1hcChjYik7
DQotICANCi0gIGlmIChBcnJheS5pc0FycmF5KGEpICYmDQotICAgICAgYS5sZW5ndGggPT09IDAp
IHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLm1hcCxB
cnJheS5pc0FycmF5KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4x
OS01LTciLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQu
MTkvMTUuNC40LjE5LTUtNy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLm1h
cCByZXR1cm5zIGFuIGVtcHR5IGFycmF5IGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJy
YXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHcvbyB2YWx1ZU9mICh0b1N0cmluZykpIiwK
KwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZvby5wcm90b3R5cGUgPSBuZXcgQXJy
YXkoMSwgMiwgMyk7CisgIGZ1bmN0aW9uIGZvbygpIHt9CisgIHZhciBmID0gbmV3IGZvbygpOwor
ICAKKyAgdmFyIG8gPSB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAnMCc7fX07Cisg
IGYubGVuZ3RoID0gbzsKKyAgCisgIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1
ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsKKyAgLy8gdGhhdCBzaW1wbHkgcmV0dXJu
cyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kCisgIC8vIGRv
ZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0
IHRoZSBvYmplY3QKKyAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBt
ZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlCisgIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1i
ZXIuCisKKyAgZnVuY3Rpb24gY2IoKXt9CisgIHZhciBhID0gZi5tYXAoY2IpOworICAKKyAgaWYg
KEFycmF5LmlzQXJyYXkoYSkgJiYKKyAgICAgIGEubGVuZ3RoID09PSAwKSB7CisgICAgcmV0dXJu
IHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAg
cmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5tYXAsQXJyYXkuaXNBcnJheSk7CisgfQor
fSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTUtNy5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMTktNS04LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTktNS04LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTUt
OC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw2MyArMSw2MyBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTktNS04IiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTUtOC5qcyIs
DQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubWFwIHJldHVybnMgYW4gZW1wdHkg
YXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRk
ZW4gd2l0aCBbXSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBmb28ucHJv
dG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KLSAgZnVuY3Rpb24gZm9vKCkge30NCi0gIHZh
ciBmID0gbmV3IGZvbygpOw0KLSAgDQotICBmLmxlbmd0aCA9IFtdOw0KLSAgDQotICAvLyBvYmpl
Y3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmpl
Y3Q7DQotICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZh
dWx0IHZhbHVlT2YoKSBtZXRob2QNCi0gIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2
YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCi0gIC8vIHRvIGEgbnVt
YmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0K
LSAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCi0gIC8vDQotICAvLyBUaGUgdG9T
dHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBz
dHJpbmdzLA0KLSAgLy8gdGhlbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY29uY2F0ZW5hdGluZyB0
aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbg0KLSAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0
aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaA0KLSAgLy8g
Y29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVu
dCB0aGF0IGlzIGENCi0gIC8vIG51bWJlciBuLCB0aGUgYXJyYXkgY29udmVydHMgdG8gYSBzdHJp
bmcgcmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2ggaXMNCi0gIC8vIHRoZW4gY29udmVydGVkIGJh
Y2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVu
dCwNCi0gIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJh
eSBjb252ZXJ0cyB0byBOYU4uDQotDQotICBmdW5jdGlvbiBjYigpe30NCi0gIHZhciBhID0gZi5t
YXAoY2IpOw0KLSAgDQotICBpZiAoQXJyYXkuaXNBcnJheShhKSAmJg0KLSAgICAgIGEubGVuZ3Ro
ID09PSAwKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlw
ZS5tYXAsIEFycmF5LmlzQXJyYXkpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
CisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAi
MTUuNC40LjE5LTUtOCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40
LzE1LjQuNC4xOS8xNS40LjQuMTktNS04LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90
b3R5cGUubWFwIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xh
c3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBbXSIsCisKK3Rlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeworICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOworICBm
dW5jdGlvbiBmb28oKSB7fQorICB2YXIgZiA9IG5ldyBmb28oKTsKKyAgCisgIGYubGVuZ3RoID0g
W107CisgIAorICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qg
b2YgdGhlIE9iamVjdCBvYmplY3Q7CisgIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2Vs
Zi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZAorICAvLyBkb2VzIG5vdCByZXR1
cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0
CisgIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBj
b252ZXJ0aW5nIHRoZQorICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLgorICAvLwor
ICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBl
bGVtZW50cyB0byBzdHJpbmdzLAorICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25j
YXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluCisgIC8vIGJldHdlZW4uIEFu
IGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hp
Y2gKKyAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5n
bGUgZWxlbWVudCB0aGF0IGlzIGEKKyAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0
byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcworICAvLyB0aGVuIGNvbnZl
cnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25l
IGVsZW1lbnQsCisgIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRo
ZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uCisKKyAgZnVuY3Rpb24gY2IoKXt9CisgIHZhciBhID0g
Zi5tYXAoY2IpOworICAKKyAgaWYgKEFycmF5LmlzQXJyYXkoYSkgJiYKKyAgICAgIGEubGVuZ3Ro
ID09PSAwKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5tYXAs
IEFycmF5LmlzQXJyYXkpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS01LTguanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTgtMS5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTgtMS5qcwko
cmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4xOS04LTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDggKzEsNDgg
QEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyAN
Ci0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0v
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE5LTgt
MSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5
LzE1LjQuNC4xOS04LTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLm1h
cCBkb2Vzbid0IGNvbnNpZGVyIG5ldyBlbGVtZW50cyBhZGRlZCBiZXlvbmQgdGhlIGluaXRpYWwg
bGVuZ3RoIG9mIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZCIsDQotDQotdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7IA0KLSANCi0gIHZhciBsYXN0SW5kZXhWaXNpdGVkPS0xOyANCi0gDQotICBm
dW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQotICB7DQotICAgIGlmIChpZHg9PT0w
KSBvYmpbMTBdID0gMTA7DQotICAgIGxhc3RJbmRleFZpc2l0ZWQ9aWR4Ow0KLSAgICByZXR1cm4g
dHJ1ZTsNCi0gIH0NCi0gIA0KLSAgWzAsMV0ubWFwKGNhbGxiYWNrZm4pOw0KLSAgcmV0dXJuIGxh
c3RJbmRleFZpc2l0ZWQgPT09IDE7ICANCi0gIA0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5tYXAp
Ow0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisv
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisv
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xOS04LTEiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgt
MS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLm1hcCBkb2Vzbid0IGNvbnNp
ZGVyIG5ldyBlbGVtZW50cyBhZGRlZCBiZXlvbmQgdGhlIGluaXRpYWwgbGVuZ3RoIG9mIGFycmF5
IGFmdGVyIGl0IGlzIGNhbGxlZCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAKKyAK
KyAgdmFyIGxhc3RJbmRleFZpc2l0ZWQ9LTE7IAorIAorICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZh
bCwgaWR4LCBvYmopCisgIHsKKyAgICBpZiAoaWR4PT09MCkgb2JqWzEwXSA9IDEwOworICAgIGxh
c3RJbmRleFZpc2l0ZWQ9aWR4OworICAgIHJldHVybiB0cnVlOworICB9CisgIAorICBbMCwxXS5t
YXAoY2FsbGJhY2tmbik7CisgIHJldHVybiBsYXN0SW5kZXhWaXNpdGVkID09PSAxOyAgCisgIAor
IH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLm1hcCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTgt
MS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTktOC0yLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTkt
OC0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTgtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1
MCArMSw1MCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
DQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQot
Ly8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40
LjQuMTktOC0yIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMTkvMTUuNC40LjE5LTgtMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90
b3R5cGUubWFwIGNvbnNpZGVycyBuZXcgdmFsdWUgb2YgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIg
aXQgaXMgY2FsbGVkIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQotIA0KLSAg
ZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KLSAgeyAgICANCi0gICAgc3JjQXJy
WzRdID0gLTE7DQotICAgIGlmKHZhbCA+IDApDQotICAgICAgcmV0dXJuIDE7DQotICAgIGVsc2UN
Ci0gICAgICByZXR1cm4gMDsNCi0gIH0NCi0NCi0gIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsN
Ci0gIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOw0KLSAgaWYocmVzQXJyLmxl
bmd0aCA9PT0gNSAmJiByZXNBcnJbNF0gPT09IDApDQotICAgIHJldHVybiB0cnVlOyAgDQotICAN
Ci0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUubWFwKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxNS40LjQuMTktOC0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTIuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5tYXAgY29uc2lkZXJzIG5ldyB2YWx1ZSBvZiBlbGVtZW50cyBpbiBhcnJheSBh
ZnRlciBpdCBpcyBjYWxsZWQiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCisgCisg
IGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikKKyAgeyAgICAKKyAgICBzcmNBcnJb
NF0gPSAtMTsKKyAgICBpZih2YWwgPiAwKQorICAgICAgcmV0dXJuIDE7CisgICAgZWxzZQorICAg
ICAgcmV0dXJuIDA7CisgIH0KKworICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07CisgIHZhciBy
ZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOworICBpZihyZXNBcnIubGVuZ3RoID09PSA1
ICYmIHJlc0Fycls0XSA9PT0gMCkKKyAgICByZXR1cm4gdHJ1ZTsgIAorICAKKyB9LAorCitwcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnBy
b3RvdHlwZS5tYXApOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS04LTIuanMKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTgtMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTgtMy5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4xOS04LTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTEgKzEsNTEgQEAK
LS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0v
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAN
Ci0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE5LTgtMyIs
DQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1
LjQuNC4xOS04LTMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLm1hcCBk
b2Vzbid0IHZpc2l0IGRlbGV0ZWQgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgdGhlIGNhbGwiLA0K
LQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCi0gDQotICBmdW5jdGlvbiBjYWxsYmFj
a2ZuKHZhbCwgaWR4LCBvYmopDQotICB7DQotICAgIGRlbGV0ZSBzcmNBcnJbNF07DQotICAgIGlm
KHZhbCA+IDApDQotICAgICAgcmV0dXJuIDE7DQotICAgIGVsc2UNCi0gICAgICByZXR1cm4gMDsN
Ci0NCi0gIH0NCi0NCi0gIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsNCi0gIHZhciByZXNBcnIg
PSBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOw0KLSAgaWYocmVzQXJyLmxlbmd0aCA9PT0gNSAmJiBy
ZXNBcnJbNF0gPT09IHVuZGVmaW5lZCkNCi0gICAgcmV0dXJuIHRydWU7ICANCi0gIA0KLSB9LA0K
LQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3Rz
KEFycmF5LnByb3RvdHlwZS5tYXApOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
CisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1
LjQuNC4xOS04LTMiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMTkvMTUuNC40LjE5LTgtMy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90
eXBlLm1hcCBkb2Vzbid0IHZpc2l0IGRlbGV0ZWQgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgdGhl
IGNhbGwiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCisgCisgIGZ1bmN0aW9uIGNh
bGxiYWNrZm4odmFsLCBpZHgsIG9iaikKKyAgeworICAgIGRlbGV0ZSBzcmNBcnJbNF07CisgICAg
aWYodmFsID4gMCkKKyAgICAgIHJldHVybiAxOworICAgIGVsc2UKKyAgICAgIHJldHVybiAwOwor
CisgIH0KKworICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07CisgIHZhciByZXNBcnIgPSBzcmNB
cnIubWFwKGNhbGxiYWNrZm4pOworICBpZihyZXNBcnIubGVuZ3RoID09PSA1ICYmIHJlc0Fycls0
XSA9PT0gdW5kZWZpbmVkKQorICAgIHJldHVybiB0cnVlOyAgCisgIAorIH0sCisKK3ByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90
eXBlLm1hcCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTgtMy5qcwpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMTktOC00LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTktOC00LmpzCShyZXZpc2lv
biAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjE5LTgtNC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0OSArMSw0OSBAQAotLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0K
LQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTktOC00IiwNCi0N
Ci1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40
LjE5LTgtNC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubWFwIGRvZXNu
J3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyB3aGVuIEFycmF5Lmxlbmd0aCBpcyBkZWNyZWFzZWQi
LA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCi0gDQotICB2YXIgY2FsbENudCA9
IDA7DQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQotICB7DQotICAgIHNy
Y0Fyci5sZW5ndGggPSAyOw0KLSAgICBjYWxsQ250Kys7DQotICAgIHJldHVybiAxOw0KLSAgfQ0K
LQ0KLSAgdmFyIHNyY0FyciA9IFsxLDIsMyw0LDVdOw0KLSAgdmFyIHJlc0FyciA9IHNyY0Fyci5t
YXAoY2FsbGJhY2tmbik7DQotICBpZihyZXNBcnIubGVuZ3RoID09PSA1ICAmJiBjYWxsQ250ID09
PSAyICYmIHJlc0FyclsyXSA9PT0gdW5kZWZpbmVkKQ0KLSAgICByZXR1cm4gdHJ1ZTsgIA0KLSAg
DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4g
Zm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLm1hcCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsK
K2lkOiAiMTUuNC40LjE5LTgtNCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4xOS8xNS40LjQuMTktOC00LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJh
eS5wcm90b3R5cGUubWFwIGRvZXNuJ3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyB3aGVuIEFycmF5
Lmxlbmd0aCBpcyBkZWNyZWFzZWQiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCisg
CisgIHZhciBjYWxsQ250ID0gMDsKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2Jq
KQorICB7CisgICAgc3JjQXJyLmxlbmd0aCA9IDI7CisgICAgY2FsbENudCsrOworICAgIHJldHVy
biAxOworICB9CisKKyAgdmFyIHNyY0FyciA9IFsxLDIsMyw0LDVdOworICB2YXIgcmVzQXJyID0g
c3JjQXJyLm1hcChjYWxsYmFja2ZuKTsKKyAgaWYocmVzQXJyLmxlbmd0aCA9PT0gNSAgJiYgY2Fs
bENudCA9PT0gMiAmJiByZXNBcnJbMl0gPT09IHVuZGVmaW5lZCkKKyAgICByZXR1cm4gdHJ1ZTsg
IAorICAKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJu
IGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5tYXApOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4xOS04LTQuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTgtNS5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE5LTgtNS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS04LTUuanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsNTEgKzEsNTEgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0K
LS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlk
OiAiMTUuNC40LjE5LTgtNSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTUuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLm1hcCBkb2Vzbid0IGNvbnNpZGVyIG5ld2x5IGFkZGVkIGVsZW1lbnRzIGlu
IHNwYXJzZSBhcnJheSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KLSANCi0g
IHZhciBjYWxsQ250ID0gMDsNCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikN
Ci0gIHsNCi0gICAgc3JjQXJyWzEwMDBdID0gMzsNCi0gICAgY2FsbENudCsrOw0KLSAgICByZXR1
cm4gdmFsOw0KLSAgfQ0KLQ0KLSAgdmFyIHNyY0FyciA9IG5ldyBBcnJheSgxMCk7DQotICBzcmNB
cnJbMV0gPSAxOw0KLSAgc3JjQXJyWzJdID0gMjsNCi0gIHZhciByZXNBcnIgPSBzcmNBcnIubWFw
KGNhbGxiYWNrZm4pOw0KLSAgaWYoIHJlc0Fyci5sZW5ndGggPT09IDEwICYmIGNhbGxDbnQgPT09
IDIpICAgIA0KLSAgICAgIHJldHVybiB0cnVlOyAgDQotICANCi0gfSwNCi0NCi1wcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUubWFwKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
Ly8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTktOC01IiwK
KworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQu
NC4xOS04LTUuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5tYXAgZG9lc24n
dCBjb25zaWRlciBuZXdseSBhZGRlZCBlbGVtZW50cyBpbiBzcGFyc2UgYXJyYXkiLAorCit0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCisgCisgIHZhciBjYWxsQ250ID0gMDsKKyAgZnVuY3Rp
b24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQorICB7CisgICAgc3JjQXJyWzEwMDBdID0gMzsK
KyAgICBjYWxsQ250Kys7CisgICAgcmV0dXJuIHZhbDsKKyAgfQorCisgIHZhciBzcmNBcnIgPSBu
ZXcgQXJyYXkoMTApOworICBzcmNBcnJbMV0gPSAxOworICBzcmNBcnJbMl0gPSAyOworICB2YXIg
cmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsKKyAgaWYoIHJlc0Fyci5sZW5ndGggPT09
IDEwICYmIGNhbGxDbnQgPT09IDIpICAgIAorICAgICAgcmV0dXJuIHRydWU7ICAKKyAgCisgfSwK
KworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhB
cnJheS5wcm90b3R5cGUubWFwKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTktOC01Lmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS04LTYuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS04LTYu
anMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMTktOC02LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUzICsx
LDUzIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0v
Ly8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQN
Ci0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0K
LS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8g
DQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4x
OS04LTYiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQu
NC4xOS8xNS40LjQuMTktOC02LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlw
ZS5tYXAgdmlzaXRzIGRlbGV0ZWQgZWxlbWVudCBpbiBhcnJheSBhZnRlciB0aGUgY2FsbCB3aGVu
IHNhbWUgaW5kZXggaXMgYWxzbyBwcmVzZW50IGluIHByb3RvdHlwZSIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7IA0KLSANCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgs
IG9iaikNCi0gIHsNCi0gICAgZGVsZXRlIHNyY0Fycls0XTsNCi0gICAgaWYodmFsID4gMCkNCi0g
ICAgICByZXR1cm4gMTsNCi0gICAgZWxzZQ0KLSAgICAgIHJldHVybiAwOw0KLQ0KLSAgfQ0KLQ0K
LSAgQXJyYXkucHJvdG90eXBlWzRdID0gNTsNCi0gIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsN
Ci0gIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOw0KLSAgZGVsZXRlIEFycmF5
LnByb3RvdHlwZVs0XTsNCi0gIGlmKHJlc0Fyci5sZW5ndGggPT09IDUgJiYgcmVzQXJyWzRdID09
PSAxKQ0KLSAgICByZXR1cm4gdHJ1ZTsgIA0KLSAgDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLm1h
cCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8K
Ky8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAK
Ky8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisK
KworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE5LTgtNiIsCisKK3Bh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOS8xNS40LjQuMTkt
OC02LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubWFwIHZpc2l0cyBkZWxl
dGVkIGVsZW1lbnQgaW4gYXJyYXkgYWZ0ZXIgdGhlIGNhbGwgd2hlbiBzYW1lIGluZGV4IGlzIGFs
c28gcHJlc2VudCBpbiBwcm90b3R5cGUiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsg
CisgCisgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikKKyAgeworICAgIGRlbGV0
ZSBzcmNBcnJbNF07CisgICAgaWYodmFsID4gMCkKKyAgICAgIHJldHVybiAxOworICAgIGVsc2UK
KyAgICAgIHJldHVybiAwOworCisgIH0KKworICBBcnJheS5wcm90b3R5cGVbNF0gPSA1OworICB2
YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07CisgIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxi
YWNrZm4pOworICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzRdOworICBpZihyZXNBcnIubGVuZ3Ro
ID09PSA1ICYmIHJlc0Fycls0XSA9PT0gMSkKKyAgICByZXR1cm4gdHJ1ZTsgIAorICAKKyB9LAor
CitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFy
cmF5LnByb3RvdHlwZS5tYXApOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS04LTYuanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTgtYi0xLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTktOC1i
LTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTktOC1iLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
NDggKzEsNDggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUu
NC40LjE5LTgtYi0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQu
NC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYi0xLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5tYXAgLSBjYWxsYmFja2ZuIG5vdCBjYWxsZWQgZm9yIGluZGV4ZXMgbmV2ZXIg
YmVlbiBhc3NpZ25lZCB2YWx1ZXMiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAN
Ci0gDQotICB2YXIgY2FsbENudCA9IDA7DQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4
LCBvYmopDQotICB7DQotICAgIGNhbGxDbnQrKzsNCi0gICAgcmV0dXJuIDE7DQotICB9DQotDQot
ICB2YXIgc3JjQXJyID0gbmV3IEFycmF5KDEwKTsNCi0gIHNyY0FyclsxXSA9IHVuZGVmaW5lZDsg
Ly9leHBsaWNpdGx5IGFzc2lnbmluZyBhIHZhbHVlDQotICB2YXIgcmVzQXJyID0gc3JjQXJyLm1h
cChjYWxsYmFja2ZuKTsNCi0gIGlmKCByZXNBcnIubGVuZ3RoID09PSAxMCAmJiBjYWxsQ250ID09
PSAxKQ0KLSAgICAgIHJldHVybiB0cnVlOyAgICANCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubWFw
KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bwor
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAor
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKwor
CitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMTktOC1iLTEiLAorCitw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5
LTgtYi0xLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGJh
Y2tmbiBub3QgY2FsbGVkIGZvciBpbmRleGVzIG5ldmVyIGJlZW4gYXNzaWduZWQgdmFsdWVzIiwK
KwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAorIAorICB2YXIgY2FsbENudCA9IDA7Cisg
IGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikKKyAgeworICAgIGNhbGxDbnQrKzsK
KyAgICByZXR1cm4gMTsKKyAgfQorCisgIHZhciBzcmNBcnIgPSBuZXcgQXJyYXkoMTApOworICBz
cmNBcnJbMV0gPSB1bmRlZmluZWQ7IC8vZXhwbGljaXRseSBhc3NpZ25pbmcgYSB2YWx1ZQorICB2
YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsKKyAgaWYoIHJlc0Fyci5sZW5ndGgg
PT09IDEwICYmIGNhbGxDbnQgPT09IDEpCisgICAgICByZXR1cm4gdHJ1ZTsgICAgCisgfSwKKwor
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJh
eS5wcm90b3R5cGUubWFwKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTktOC1iLTEuanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTgtYy1paS0xLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTkt
OC1jLWlpLTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTktOC1jLWlpLTEuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNTEgKzEsNTEgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LWlkOiAiMTUuNC40LjE5LTgtYy1paS0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paS0xLmpzIiwNCi0NCi1kZXNj
cmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5tYXAgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNv
cnJlY3QgcGFyYW1ldGVycyIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KLSAN
Ci0gIHZhciBiUGFyID0gdHJ1ZTsNCi0gIHZhciBiQ2FsbGVkID0gZmFsc2U7DQotICBmdW5jdGlv
biBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQotICB7DQotICAgIGJDYWxsZWQgPSB0cnVlOw0K
LSAgICBpZihvYmpbaWR4XSAhPT0gdmFsKQ0KLSAgICAgIGJQYXIgPSBmYWxzZTsNCi0gIH0NCi0N
Ci0gIHZhciBzcmNBcnIgPSBbMCwxLHRydWUsbnVsbCxuZXcgT2JqZWN0KCksImZpdmUiXTsNCi0g
IHNyY0Fycls5OTk5OTldID0gLTYuNjsNCi0gIHJlc0FyciA9IHNyY0Fyci5tYXAoY2FsbGJhY2tm
bik7DQotICANCi0gIGlmKGJDYWxsZWQgPT09IHRydWUgJiYgYlBhciA9PT0gdHJ1ZSkNCi0gICAg
cmV0dXJuIHRydWU7DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLm1hcCk7DQotIH0NCi19KTsNCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjE5LTgtYy1paS0xIiwKKworcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMS5qcyIs
CisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLm1hcCAtIGNhbGxiYWNrZm4gY2FsbGVk
IHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
IAorIAorICB2YXIgYlBhciA9IHRydWU7CisgIHZhciBiQ2FsbGVkID0gZmFsc2U7CisgIGZ1bmN0
aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikKKyAgeworICAgIGJDYWxsZWQgPSB0cnVlOwor
ICAgIGlmKG9ialtpZHhdICE9PSB2YWwpCisgICAgICBiUGFyID0gZmFsc2U7CisgIH0KKworICB2
YXIgc3JjQXJyID0gWzAsMSx0cnVlLG51bGwsbmV3IE9iamVjdCgpLCJmaXZlIl07CisgIHNyY0Fy
cls5OTk5OTldID0gLTYuNjsKKyAgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsKKyAg
CisgIGlmKGJDYWxsZWQgPT09IHRydWUgJiYgYlBhciA9PT0gdHJ1ZSkKKyAgICByZXR1cm4gdHJ1
ZTsKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZu
RXhpc3RzKEFycmF5LnByb3RvdHlwZS5tYXApOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4x
OS04LWMtaWktMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTktOC1jLWlpLTIuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xOS04LWMtaWktMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS04LWMtaWktMi5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw1MSArMSw1MSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMTktOC1jLWlpLTIiLA0KLQ0KLXBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xOS8xNS40LjQuMTktOC1jLWlpLTIu
anMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLm1hcCAtIGNhbGxiYWNrZm4g
dGFrZXMgMyBhcmd1bWVudHMiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCi0g
DQotICB2YXIgcGFyQ250ID0gMzsNCi0gIHZhciBiQ2FsbGVkID0gZmFsc2UNCi0gIGZ1bmN0aW9u
IGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCi0gIHsgDQotICAgIGJDYWxsZWQgPSB0cnVlOw0K
LSAgICBpZihhcmd1bWVudHMubGVuZ3RoICE9PSAzKQ0KLSAgICAgIHBhckNudCA9IGFyZ3VtZW50
cy5sZW5ndGg7ICAgLy92ZXJpZnkgaWYgY2FsbGJhY2tmbiB3YXMgY2FsbGVkIHdpdGggMyBwYXJh
bWV0ZXJzDQotICB9DQotDQotICB2YXIgc3JjQXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOw0K
LSAgdmFyIHJlc0FyciA9IHNyY0Fyci5tYXAoY2FsbGJhY2tmbik7DQotICBpZihiQ2FsbGVkID09
PSB0cnVlICYmIHBhckNudCA9PT0gMykNCi0gICAgcmV0dXJuIHRydWU7DQotDQotDQotIH0sDQot
DQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMo
QXJyYXkucHJvdG90eXBlLm1hcCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MK
Ky8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUu
NC40LjE5LTgtYy1paS0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40
LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLm1hcCAtIGNhbGxiYWNrZm4gdGFrZXMgMyBhcmd1bWVudHMiLAorCit0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCisgCisgIHZhciBwYXJDbnQgPSAzOworICB2YXIgYkNh
bGxlZCA9IGZhbHNlCisgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikKKyAgeyAK
KyAgICBiQ2FsbGVkID0gdHJ1ZTsKKyAgICBpZihhcmd1bWVudHMubGVuZ3RoICE9PSAzKQorICAg
ICAgcGFyQ250ID0gYXJndW1lbnRzLmxlbmd0aDsgICAvL3ZlcmlmeSBpZiBjYWxsYmFja2ZuIHdh
cyBjYWxsZWQgd2l0aCAzIHBhcmFtZXRlcnMKKyAgfQorCisgIHZhciBzcmNBcnIgPSBbMCwxLDIs
Myw0LDUsNiw3LDgsOV07CisgIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOwor
ICBpZihiQ2FsbGVkID09PSB0cnVlICYmIHBhckNudCA9PT0gMykKKyAgICByZXR1cm4gdHJ1ZTsK
KworCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUubWFwKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MTktOC1jLWlpLTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsx
ICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTgtYy1paWktMS5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjE5LTgtYy1paWktMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS04LWMtaWlp
LTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTMgKzEsNTMgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE5LTgtYy1paWktMSIsDQotDQotcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMt
aWlpLTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLm1hcCAtIGdldE93
blByb3BlcnR5RGVzY3JpcHRvcihhbGwgdHJ1ZSkgb2YgcmV0dXJuZWQgYXJyYXkgZWxlbWVudCIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICANCi0gIGZ1bmN0aW9uIGNhbGxi
YWNrZm4odmFsLCBpZHgsIG9iail7DQotICAgICAgaWYodmFsICUgMikNCi0gICAgICAgIHJldHVy
biAoMiAqIHZhbCArIDEpOyANCi0gICAgICBlbHNlDQotICAgICAgICByZXR1cm4gKHZhbCAvIDIp
Ow0KLSAgfQ0KLSAgdmFyIHNyY0FyciA9IFswLDEsMiwzLDRdOw0KLSAgdmFyIHJlc0FyciA9IHNy
Y0Fyci5tYXAoY2FsbGJhY2tmbik7DQotICBpZiAocmVzQXJyLmxlbmd0aCA+IDApew0KLSAgICAg
dmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHJlc0FyciwgMSkgDQot
ICAgICBpZihkZXNjLnZhbHVlID09PSAzICYmICAgICAgICAvL3NyY0FyclsxXSA9IDIqMSsxID0g
Mw0KLSAgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQotICAgICAgIGRlc2MuZW51bWVy
YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSl7DQot
ICAgICAgICAgcmV0dXJuIHRydWU7DQotICAgIH0NCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUubWFwLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOw0KLSB9DQotfSk7DQorLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
Ky8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xOS04LWMtaWlpLTEiLAorCitwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paWktMS5qcyIs
CisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLm1hcCAtIGdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihhbGwgdHJ1ZSkgb2YgcmV0dXJuZWQgYXJyYXkgZWxlbWVudCIsCisKK3Rlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgeworICAKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwg
b2JqKXsKKyAgICAgIGlmKHZhbCAlIDIpCisgICAgICAgIHJldHVybiAoMiAqIHZhbCArIDEpOyAK
KyAgICAgIGVsc2UKKyAgICAgICAgcmV0dXJuICh2YWwgLyAyKTsKKyAgfQorICB2YXIgc3JjQXJy
ID0gWzAsMSwyLDMsNF07CisgIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOwor
ICBpZiAocmVzQXJyLmxlbmd0aCA+IDApeworICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IocmVzQXJyLCAxKSAKKyAgICAgaWYoZGVzYy52YWx1ZSA9PT0gMyAm
JiAgICAgICAgLy9zcmNBcnJbMV0gPSAyKjErMSA9IDMKKyAgICAgICBkZXNjLndyaXRhYmxlID09
PSB0cnVlICYmCisgICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlICYmCisgICAgICAgZGVz
Yy5jb25maWd1cmFibGUgPT09IHRydWUpeworICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQor
ICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUubWFwLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS04LWMtaWlpLTEuanMKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjE5LTktMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTktMS5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4xOS05LTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTEgKzEsNTEgQEAKLS8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE5LTktMSIsDQot
DQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQu
NC4xOS05LTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLm1hcCBkb2Vz
bid0IG11dGF0ZSB0aGUgQXJyYXkgb24gd2hpY2ggaXQgaXMgY2FsbGVkIG9uIiwNCi0NCi10ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBp
ZHgsIG9iaikNCi0gIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotICB2YXIgc3JjQXJyID0g
WzEsMiwzLDQsNV07DQotICBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOw0KLSAgaWYoc3JjQXJyWzBd
ID09PSAxICYmDQotICAgICBzcmNBcnJbMV0gPT09IDIgJiYNCi0gICAgIHNyY0FyclsyXSA9PT0g
MyAmJg0KLSAgICAgc3JjQXJyWzNdID09PSA0ICYmDQotICAgICBzcmNBcnJbNF0gPT09IDUpDQot
ICB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5t
YXApOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
CisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8g
CisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xOS05LTEiLAorCitw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5
LTktMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLm1hcCBkb2Vzbid0IG11
dGF0ZSB0aGUgQXJyYXkgb24gd2hpY2ggaXQgaXMgY2FsbGVkIG9uIiwKKwordGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7CisKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQor
ICB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyAgdmFyIHNyY0FyciA9IFsxLDIsMyw0LDVdOwor
ICBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOworICBpZihzcmNBcnJbMF0gPT09IDEgJiYKKyAgICAg
c3JjQXJyWzFdID09PSAyICYmCisgICAgIHNyY0FyclsyXSA9PT0gMyAmJgorICAgICBzcmNBcnJb
M10gPT09IDQgJiYKKyAgICAgc3JjQXJyWzRdID09PSA1KQorICB7CisgICAgcmV0dXJuIHRydWU7
CisgIH0KKworIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLm1hcCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE5LTktMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMTktOS0yLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMTktOS0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTktMi5qcwkod29ya2luZyBjb3B5
KQpAQCAtMSw1MSArMSw1MSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
DQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQot
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQot
aWQ6ICIxNS40LjQuMTktOS0yIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40
LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTktMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJB
cnJheS5wcm90b3R5cGUubWFwIHJldHVybnMgbmV3IEFycmF5IHdpdGggc2FtZSBudW1iZXIgb2Yg
ZWxlbWVudHMgYW5kIHZhbHVlcyB0aGUgcmVzdWx0IG9mIGNhbGxiYWNrZm4iLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlk
eCwgb2JqKQ0KLSAgew0KLSAgICByZXR1cm4gdmFsICsgMTA7DQotICB9DQotICB2YXIgc3JjQXJy
ID0gWzEsMiwzLDQsNV07DQotICB2YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsN
Ci0gIGlmKHJlc0FyclswXSA9PT0gMTEgJiYNCi0gICAgIHJlc0FyclsxXSA9PT0gMTIgJiYNCi0g
ICAgIHJlc0FyclsyXSA9PT0gMTMgJiYNCi0gICAgIHJlc0FyclszXSA9PT0gMTQgJiYNCi0gICAg
IHJlc0Fycls0XSA9PT0gMTUpDQotICB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLQ0KLSB9
LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhp
c3RzKEFycmF5LnByb3RvdHlwZS5tYXApOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDog
IjE1LjQuNC4xOS05LTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQu
NC8xNS40LjQuMTkvMTUuNC40LjE5LTktMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLm1hcCByZXR1cm5zIG5ldyBBcnJheSB3aXRoIHNhbWUgbnVtYmVyIG9mIGVsZW1lbnRz
IGFuZCB2YWx1ZXMgdGhlIHJlc3VsdCBvZiBjYWxsYmFja2ZuIiwKKwordGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7CisKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQorICB7
CisgICAgcmV0dXJuIHZhbCArIDEwOworICB9CisgIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsK
KyAgdmFyIHJlc0FyciA9IHNyY0Fyci5tYXAoY2FsbGJhY2tmbik7CisgIGlmKHJlc0FyclswXSA9
PT0gMTEgJiYKKyAgICAgcmVzQXJyWzFdID09PSAxMiAmJgorICAgICByZXNBcnJbMl0gPT09IDEz
ICYmCisgICAgIHJlc0FyclszXSA9PT0gMTQgJiYKKyAgICAgcmVzQXJyWzRdID09PSAxNSkKKyAg
eworICAgIHJldHVybiB0cnVlOworICB9CisKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5tYXApOworIH0K
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS05LTIuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjE5LTktMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTktMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS05
LTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDcgKzEsNDcgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjE5LTktMyIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTMuanMiLA0K
LQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLm1hcCAtIHN1YmNsYXNzZWQgYXJyYXkg
d2hlbiBsZW5ndGggaXMgcmVkdWNlZCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
DQotICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KLSAgZnVuY3Rpb24gZm9v
KCkge30NCi0gIHZhciBmID0gbmV3IGZvbygpOw0KLSAgZi5sZW5ndGggPSAxOw0KLSAgDQotICBm
dW5jdGlvbiBjYigpe30NCi0gIHZhciBhID0gZi5tYXAoY2IpOw0KLSAgDQotICBpZiAoQXJyYXku
aXNBcnJheShhKSAmJg0KLSAgICAgIGEubGVuZ3RoID09PSAxKSB7DQotICAgIHJldHVybiB0cnVl
Ow0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAg
cmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5tYXAsIEFycmF5LmlzQXJyYXkpOw0KLSB9
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4xOS05LTMiLAorCitwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTktMy5qcyIs
CisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLm1hcCAtIHN1YmNsYXNzZWQgYXJyYXkg
d2hlbiBsZW5ndGggaXMgcmVkdWNlZCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewor
ICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOworICBmdW5jdGlvbiBmb28oKSB7
fQorICB2YXIgZiA9IG5ldyBmb28oKTsKKyAgZi5sZW5ndGggPSAxOworICAKKyAgZnVuY3Rpb24g
Y2IoKXt9CisgIHZhciBhID0gZi5tYXAoY2IpOworICAKKyAgaWYgKEFycmF5LmlzQXJyYXkoYSkg
JiYKKyAgICAgIGEubGVuZ3RoID09PSAxKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAor
CitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFy
cmF5LnByb3RvdHlwZS5tYXAsIEFycmF5LmlzQXJyYXkpOworIH0KK30pOwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4xOS05LTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsx
ICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTktNC5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjE5LTktNC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4xOS05LTQuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNTEgKzEsNTEgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LWlkOiAiMTUuNC40LjE5LTktNCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTQuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAi
QXJyYXkucHJvdG90eXBlLm1hcCBkb2Vzbid0IHZpc2l0IGV4cGFuZG9zIiwNCi0NCi10ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gIHZhciBjYWxsQ250ID0gMDsNCi0gIGZ1bmN0aW9u
IGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCi0gIHsNCi0gICAgY2FsbENudCsrOw0KLSAgfQ0K
LSAgdmFyIHNyY0FyciA9IFsxLDIsMyw0LDVdOw0KLSAgc3JjQXJyWyJpIl0gPSAxMDsNCi0gIHNy
Y0Fyclt0cnVlXSA9IDExOw0KLQ0KLSAgdmFyIHJlc0FyciA9IHNyY0Fyci5tYXAoY2FsbGJhY2tm
bik7DQotICBpZihjYWxsQ250ID09IDUpDQotICB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0K
LQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJu
IGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5tYXApOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
CitpZDogIjE1LjQuNC4xOS05LTQiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40
LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTktNC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLm1hcCBkb2Vzbid0IHZpc2l0IGV4cGFuZG9zIiwKKwordGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7CisKKyAgdmFyIGNhbGxDbnQgPSAwOworICBmdW5jdGlvbiBjYWxsYmFj
a2ZuKHZhbCwgaWR4LCBvYmopCisgIHsKKyAgICBjYWxsQ250Kys7CisgIH0KKyAgdmFyIHNyY0Fy
ciA9IFsxLDIsMyw0LDVdOworICBzcmNBcnJbImkiXSA9IDEwOworICBzcmNBcnJbdHJ1ZV0gPSAx
MTsKKworICB2YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsKKyAgaWYoY2FsbENu
dCA9PSA1KQorICB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKworIH0sCisKK3ByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
Lm1hcCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjE5LTktNC5qcwpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMjAtMC0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtMC0xLmpzCShyZXZpc2lvbiAx
OTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjIwLTAtMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzNiArMSwzNiBAQAotLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYN
Ci0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0K
LQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjAtMC0xIiwNCi0N
Ci1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40
LjIwLTAtMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZmlsdGVyIG11
c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
DQotICB2YXIgZiA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXI7DQotICBpZiAodHlwZW9mKGYpID09
PSAiZnVuY3Rpb24iKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9DQotfSk7DQorLy8v
IENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
Ky8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKKworRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjIwLTAtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMC8xNS40LjQuMjAtMC0xLmpzIiwKKworZGVzY3Jp
cHRpb246ICJBcnJheS5wcm90b3R5cGUuZmlsdGVyIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiIs
CisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZiA9IEFycmF5LnByb3RvdHlw
ZS5maWx0ZXI7CisgIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsKKyAgICByZXR1cm4g
dHJ1ZTsKKyAgfQorIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC0wLTEuanMKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjIwLTAtMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTAtMi5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4yMC0wLTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzkgKzEsMzkgQEAKLS8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0N
Ci0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIwLTAtMiIs
DQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1
LjQuNC4yMC0wLTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZpbHRl
ci5sZW5ndGggbXVzdCBiZSAxIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0g
IGlmIChBcnJheS5wcm90b3R5cGUuZmlsdGVyLmxlbmd0aCA9PT0gMSkgew0KLSAgICByZXR1cm4g
dHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsN
Ci0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZmlsdGVyKTsNCi0gfQ0KLX0pOw0K
Ky8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4yMC0wLTIiLAorCitwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTAtMi5qcyIsCisKK2Rl
c2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZpbHRlci5sZW5ndGggbXVzdCBiZSAxIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGlmIChBcnJheS5wcm90b3R5cGUuZmlsdGVy
Lmxlbmd0aCA9PT0gMSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUuZmlsdGVyKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtMC0yLmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4yMC0xMC0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtMTAtMS5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4yMC0xMC0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUxICsxLDUxIEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
DQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMC0xMC0x
IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAv
MTUuNC40LjIwLTEwLTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZp
bHRlciBkb2Vzbid0IG11dGF0ZSB0aGUgQXJyYXkgb24gd2hpY2ggaXQgaXMgY2FsbGVkIG9uIiwN
Ci0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gIGZ1bmN0aW9uIGNhbGxiYWNr
Zm4odmFsLCBpZHgsIG9iaikNCi0gIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotICB2YXIg
c3JjQXJyID0gWzEsMiwzLDQsNV07DQotICBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KLSAg
aWYoc3JjQXJyWzBdID09PSAxICYmDQotICAgICBzcmNBcnJbMV0gPT09IDIgJiYNCi0gICAgIHNy
Y0FyclsyXSA9PT0gMyAmJg0KLSAgICAgc3JjQXJyWzNdID09PSA0ICYmDQotICAgICBzcmNBcnJb
NF0gPT09IDUpDQotICB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLQ0KLSB9LA0KLQ0KLXBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5
LnByb3RvdHlwZS5maWx0ZXIpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisv
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQu
NC4yMC0xMC0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjIwLzE1LjQuNC4yMC0xMC0xLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5
cGUuZmlsdGVyIGRvZXNuJ3QgbXV0YXRlIHRoZSBBcnJheSBvbiB3aGljaCBpdCBpcyBjYWxsZWQg
b24iLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICBmdW5jdGlvbiBjYWxsYmFj
a2ZuKHZhbCwgaWR4LCBvYmopCisgIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorICB2YXIgc3Jj
QXJyID0gWzEsMiwzLDQsNV07CisgIHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7CisgIGlmKHNy
Y0FyclswXSA9PT0gMSAmJgorICAgICBzcmNBcnJbMV0gPT09IDIgJiYKKyAgICAgc3JjQXJyWzJd
ID09PSAzICYmCisgICAgIHNyY0FyclszXSA9PT0gNCAmJgorICAgICBzcmNBcnJbNF0gPT09IDUp
CisgIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZmlsdGVy
KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtMTAtMS5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMjAtMTAtMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTEwLTIuanMJKHJldmlzaW9uIDE5
OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMjAtMTAtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1MyArMSw1MyBAQAotLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYN
Ci0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0K
LUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjAtMTAtMiIsDQotDQot
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4y
MC0xMC0yLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5maWx0ZXIgcmV0
dXJucyBuZXcgQXJyYXkgd2l0aCBsZW5ndGggZXF1YWwgdG8gbnVtYmVyIG9mIHRydWUgcmV0dXJu
ZWQgYnkgY2FsbGJhY2tmbiIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQot
ICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQotICB7DQotICAgIGlmKHZhbCAl
IDIpDQotICAgICAgcmV0dXJuIHRydWU7DQotICAgIGVsc2UNCi0gICAgICByZXR1cm4gZmFsc2U7
DQotICB9DQotICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQotICB2YXIgcmVzQXJyID0gc3Jj
QXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCi0gIGlmKHJlc0Fyci5sZW5ndGggPT09IDMgJiYNCi0g
ICAgIHJlc0FyclswXSA9PT0gMSAmJg0KLSAgICAgcmVzQXJyWzFdID09PSAzICYmDQotICAgICBy
ZXNBcnJbMl0gPT09IDUpDQotICB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLQ0KLSB9LA0K
LQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3Rz
KEFycmF5LnByb3RvdHlwZS5maWx0ZXIpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDog
IjE1LjQuNC4yMC0xMC0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40
LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xMC0yLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUuZmlsdGVyIHJldHVybnMgbmV3IEFycmF5IHdpdGggbGVuZ3RoIGVxdWFsIHRvIG51
bWJlciBvZiB0cnVlIHJldHVybmVkIGJ5IGNhbGxiYWNrZm4iLAorCit0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsKKworICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopCisgIHsK
KyAgICBpZih2YWwgJSAyKQorICAgICAgcmV0dXJuIHRydWU7CisgICAgZWxzZQorICAgICAgcmV0
dXJuIGZhbHNlOworICB9CisgIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsKKyAgdmFyIHJlc0Fy
ciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7CisgIGlmKHJlc0Fyci5sZW5ndGggPT09IDMg
JiYKKyAgICAgcmVzQXJyWzBdID09PSAxICYmCisgICAgIHJlc0FyclsxXSA9PT0gMyAmJgorICAg
ICByZXNBcnJbMl0gPT09IDUpCisgIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorCisgfSwKKwor
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJh
eS5wcm90b3R5cGUuZmlsdGVyKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtMTAtMi5q
cwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtMTAtMy5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTEw
LTMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtMTAtMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0
NyArMSw0NyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
DQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQot
Ly8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40
LjQuMjAtMTAtMyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQv
MTUuNC40LjIwLzE1LjQuNC4yMC0xMC0zLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnBy
b3RvdHlwZS5maWx0ZXIgLSBzdWJjbGFzc2VkIGFycmF5IHdoZW4gbGVuZ3RoIGlzIHJlZHVjZWQi
LA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgZm9vLnByb3RvdHlwZSA9IG5l
dyBBcnJheSgxLCAyLCAzKTsNCi0gIGZ1bmN0aW9uIGZvbygpIHt9DQotICB2YXIgZiA9IG5ldyBm
b28oKTsNCi0gIGYubGVuZ3RoID0gMTsNCi0gIA0KLSAgZnVuY3Rpb24gY2IoKXtyZXR1cm4gdHJ1
ZTt9DQotICB2YXIgYSA9IGYuZmlsdGVyKGNiKTsNCi0gIA0KLSAgaWYgKEFycmF5LmlzQXJyYXko
YSkgJiYNCi0gICAgICBhLmxlbmd0aCA9PT0gMSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0N
Ci0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZmlsdGVyLEFycmF5LmlzQXJyYXkpOw0KLSB9DQotfSk7
DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisv
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4yMC0xMC0zIiwKKworcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xMC0zLmpzIiwKKwor
ZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gc3ViY2xhc3NlZCBhcnJheSB3
aGVuIGxlbmd0aCBpcyByZWR1Y2VkIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7Cisg
IGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7CisgIGZ1bmN0aW9uIGZvbygpIHt9
CisgIHZhciBmID0gbmV3IGZvbygpOworICBmLmxlbmd0aCA9IDE7CisgIAorICBmdW5jdGlvbiBj
Yigpe3JldHVybiB0cnVlO30KKyAgdmFyIGEgPSBmLmZpbHRlcihjYik7CisgIAorICBpZiAoQXJy
YXkuaXNBcnJheShhKSAmJgorICAgICAgYS5sZW5ndGggPT09IDEpIHsKKyAgICByZXR1cm4gdHJ1
ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZpbHRlcixBcnJheS5pc0FycmF5KTsKKyB9Cit9
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtMTAtMy5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMjAtMTAtNC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTEwLTQuanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAt
MTAtNC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1MSArMSw1MSBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjAtMTAtNCIsDQotDQotcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xMC00Lmpz
IiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5maWx0ZXIgZG9lc24ndCB2aXNp
dCBleHBhbmRvcyIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICB2YXIg
Y2FsbENudCA9IDA7DQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQotICB7
DQotICAgIGNhbGxDbnQrKzsNCi0gIH0NCi0gIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsNCi0g
IHNyY0FyclsiaSJdID0gMTA7DQotICBzcmNBcnJbdHJ1ZV0gPSAxMTsNCi0NCi0gIHZhciByZXNB
cnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KLSAgaWYoY2FsbENudCA9PSA1KQ0KLSAg
ew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZmls
dGVyKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8v
IAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMjAtMTAtNCIsCisK
K3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMC8xNS40LjQu
MjAtMTAtNC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZpbHRlciBkb2Vz
bid0IHZpc2l0IGV4cGFuZG9zIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAg
dmFyIGNhbGxDbnQgPSAwOworICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopCisg
IHsKKyAgICBjYWxsQ250Kys7CisgIH0KKyAgdmFyIHNyY0FyciA9IFsxLDIsMyw0LDVdOworICBz
cmNBcnJbImkiXSA9IDEwOworICBzcmNBcnJbdHJ1ZV0gPSAxMTsKKworICB2YXIgcmVzQXJyID0g
c3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuKTsKKyAgaWYoY2FsbENudCA9PSA1KQorICB7CisgICAg
cmV0dXJuIHRydWU7CisgIH0KKworIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZpbHRlcik7CisgfQorfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjIwLTEwLTQuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1z
dHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjIwLTQtMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTQtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC00LTEu
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQot
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIwLTQtMSIsDQotDQotcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTEuanMiLA0KLQ0K
LWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZpbHRlciB0aHJvd3MgVHlwZUVycm9yIGlm
IGNhbGxiYWNrZm4gaXMgdW5kZWZpbmVkIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsNCi0NCi0gIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KLSAgdHJ5IHsNCi0gICAgYXJyLmZp
bHRlcigpOyAgICANCi0gIH0NCi0gIGNhdGNoKGUpIHsNCi0gICAgaWYoZSBpbnN0YW5jZW9mIFR5
cGVFcnJvcikNCi0gICAgICByZXR1cm4gdHJ1ZTsgIA0KLSAgfQ0KLQ0KLSB9LA0KLQ0KLXByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnBy
b3RvdHlwZS5maWx0ZXIpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4y
MC00LTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQu
MjAvMTUuNC40LjIwLTQtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZp
bHRlciB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgdW5kZWZpbmVkIiwKKwordGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7Cisg
IHRyeSB7CisgICAgYXJyLmZpbHRlcigpOyAgICAKKyAgfQorICBjYXRjaChlKSB7CisgICAgaWYo
ZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikKKyAgICAgIHJldHVybiB0cnVlOyAgCisgIH0KKworIH0s
CisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMo
QXJyYXkucHJvdG90eXBlLmZpbHRlcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTQt
MS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtNC0yLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAt
NC0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTQtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0
NSArMSw0NSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
DQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQot
Ly8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40
LjQuMjAtNC0yIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMjAvMTUuNC40LjIwLTQtMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90
b3R5cGUuZmlsdGVyIHRocm93cyBSZWZlcmVuY2VFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHVucmVm
ZXJlbmNlZCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICB2YXIgYXJy
ID0gbmV3IEFycmF5KDEwKTsNCi0gIHRyeSB7DQotICAgIGFyci5maWx0ZXIoZm9vKTsgICAgDQot
ICB9DQotICBjYXRjaChlKSB7DQotICAgIGlmKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikN
Ci0gICAgICByZXR1cm4gdHJ1ZTsgIA0KLSAgfQ0KLQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5m
aWx0ZXIpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisv
Ly8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4yMC00LTIiLAor
CitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40
LjIwLTQtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZpbHRlciB0aHJv
d3MgUmVmZXJlbmNlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyB1bnJlZmVyZW5jZWQiLAorCit0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsKKyAg
dHJ5IHsKKyAgICBhcnIuZmlsdGVyKGZvbyk7ICAgIAorICB9CisgIGNhdGNoKGUpIHsKKyAgICBp
ZihlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpCisgICAgICByZXR1cm4gdHJ1ZTsgIAorICB9
CisKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZu
RXhpc3RzKEFycmF5LnByb3RvdHlwZS5maWx0ZXIpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4yMC00LTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTQtMy5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjIwLTQtMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC00LTMuanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0K
LS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlk
OiAiMTUuNC40LjIwLTQtMyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLmZpbHRlciB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgbnVs
bCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICB2YXIgYXJyID0gbmV3
IEFycmF5KDEwKTsNCi0gIHRyeSB7DQotICAgIGFyci5maWx0ZXIobnVsbCk7ICAgIA0KLSAgfQ0K
LSAgY2F0Y2goZSkgew0KLSAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KLSAgICAgIHJl
dHVybiB0cnVlOyAgDQotICB9DQotDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZpbHRlcik7DQot
IH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAK
Ky8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
CisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYK
Ky8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjIwLTQtMyIsCisKK3BhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMC8xNS40LjQuMjAtNC0zLmpz
IiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRocm93cyBUeXBlRXJy
b3IgaWYgY2FsbGJhY2tmbiBpcyBudWxsIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
CisKKyAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7CisgIHRyeSB7CisgICAgYXJyLmZpbHRlcihu
dWxsKTsgICAgCisgIH0KKyAgY2F0Y2goZSkgeworICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJy
b3IpCisgICAgICByZXR1cm4gdHJ1ZTsgIAorICB9CisKKyB9LAorCitwcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5maWx0
ZXIpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC00LTMuanMKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjIwLTQtNC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTQtNC5qcwkocmV2aXNpb24gMTk5
NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4yMC00LTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQot
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1F
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIwLTQtNCIsDQotDQotcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00
LTQuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZpbHRlciB0aHJvd3Mg
VHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgYm9vbGVhbiIsDQotDQotdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7DQotDQotICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCi0gIHRyeSB7DQot
ICAgIGFyci5maWx0ZXIodHJ1ZSk7ICAgIA0KLSAgfQ0KLSAgY2F0Y2goZSkgew0KLSAgICBpZihl
IGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KLSAgICAgIHJldHVybiB0cnVlOyAgDQotICB9DQotDQot
IH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5F
eGlzdHMoQXJyYXkucHJvdG90eXBlLmZpbHRlcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsK
K2lkOiAiMTUuNC40LjIwLTQtNCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4yMC8xNS40LjQuMjAtNC00LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJh
eS5wcm90b3R5cGUuZmlsdGVyIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBib29s
ZWFuIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgdmFyIGFyciA9IG5ldyBB
cnJheSgxMCk7CisgIHRyeSB7CisgICAgYXJyLmZpbHRlcih0cnVlKTsgICAgCisgIH0KKyAgY2F0
Y2goZSkgeworICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpCisgICAgICByZXR1cm4gdHJ1
ZTsgIAorICB9CisKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAg
cmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5maWx0ZXIpOworIH0KK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4yMC00LTQuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTQtNS5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjIwLTQtNS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC00LTUuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggew0KLWlkOiAiMTUuNC40LjIwLTQtNSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTUuanMiLA0KLQ0KLWRlc2NyaXB0
aW9uOiAiQXJyYXkucHJvdG90eXBlLmZpbHRlciB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNr
Zm4gaXMgbnVtYmVyIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gIHZh
ciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KLSAgdHJ5IHsNCi0gICAgYXJyLmZpbHRlcig1KTsgICAg
DQotICB9DQotICBjYXRjaChlKSB7DQotICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQot
ICAgICAgcmV0dXJuIHRydWU7ICANCi0gIH0NCi0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZmls
dGVyKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8v
IAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMjAtNC01IiwKKwor
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4y
MC00LTUuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5maWx0ZXIgdGhyb3dz
IFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG51bWJlciIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeworCisgIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOworICB0cnkgeworICAgIGFy
ci5maWx0ZXIoNSk7ICAgIAorICB9CisgIGNhdGNoKGUpIHsKKyAgICBpZihlIGluc3RhbmNlb2Yg
VHlwZUVycm9yKQorICAgICAgcmV0dXJuIHRydWU7ICAKKyAgfQorCisgfSwKKworcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUuZmlsdGVyKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtNC01LmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4yMC00LTYuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC00LTYuanMJKHJldmlz
aW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMjAtNC02LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ1ICsxLDQ1IEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMC00LTYiLA0K
LQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMC8xNS40
LjQuMjAtNC02LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5maWx0ZXIg
dGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHN0cmluZyIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCi0gIHRy
eSB7DQotICAgIGFyci5maWx0ZXIoImFiYyIpOyAgICANCi0gIH0NCi0gIGNhdGNoKGUpIHsNCi0g
ICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCi0gICAgICByZXR1cm4gdHJ1ZTsgIA0KLSAg
fQ0KLQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0
dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5maWx0ZXIpOw0KLSB9DQotfSk7DQorLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7CitpZDogIjE1LjQuNC4yMC00LTYiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTQtNi5qcyIsCisKK2Rlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLmZpbHRlciB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4g
aXMgc3RyaW5nIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgdmFyIGFyciA9
IG5ldyBBcnJheSgxMCk7CisgIHRyeSB7CisgICAgYXJyLmZpbHRlcigiYWJjIik7ICAgIAorICB9
CisgIGNhdGNoKGUpIHsKKyAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQorICAgICAgcmV0
dXJuIHRydWU7ICAKKyAgfQorCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZmlsdGVyKTsKKyB9Cit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMjAtNC02LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4y
MC00LTcuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4yMC00LTcuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtNC03Lmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ1ICsxLDQ1IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMC00LTciLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMC8xNS40LjQuMjAtNC03LmpzIiwNCi0NCi1k
ZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5maWx0ZXIgdGhyb3dzIFR5cGVFcnJvciBpZiBj
YWxsYmFja2ZuIGlzIE9iamVjdCB3aXRob3V0IFtbQ2FsbF1dIGludGVybmFsIG1ldGhvZCIsDQot
DQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICB2YXIgYXJyID0gbmV3IEFycmF5
KDEwKTsNCi0gIHRyeSB7DQotICAgIGFyci5maWx0ZXIobmV3IE9iamVjdCgpKTsgICAgDQotICB9
DQotICBjYXRjaChlKSB7DQotICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQotICAgICAg
cmV0dXJuIHRydWU7ICANCi0gIH0NCi0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZmlsdGVyKTsN
Ci0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMjAtNC03IiwKKworcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTcu
anMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5maWx0ZXIgdGhyb3dzIFR5cGVF
cnJvciBpZiBjYWxsYmFja2ZuIGlzIE9iamVjdCB3aXRob3V0IFtbQ2FsbF1dIGludGVybmFsIG1l
dGhvZCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgIHZhciBhcnIgPSBuZXcg
QXJyYXkoMTApOworICB0cnkgeworICAgIGFyci5maWx0ZXIobmV3IE9iamVjdCgpKTsgICAgCisg
IH0KKyAgY2F0Y2goZSkgeworICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpCisgICAgICBy
ZXR1cm4gdHJ1ZTsgIAorICB9CisKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5maWx0ZXIpOworIH0KK30p
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4yMC00LTcuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1z
dHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjIwLTQtOC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTQtOC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC00LTgu
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQot
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIwLTQtOCIsDQotDQotcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTguanMiLA0KLQ0K
LWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZpbHRlciB0aHJvd3MgVHlwZUVycm9yIGlm
IGNhbGxiYWNrZm4gaXMgb2JqZWN0IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsN
Ci0NCi0gIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KLSAgdHJ5IHsNCi0gICAgYXJyLmZpbHRl
cih7fSk7ICAgIA0KLSAgfQ0KLSAgY2F0Y2goZSkgew0KLSAgICBpZihlIGluc3RhbmNlb2YgVHlw
ZUVycm9yKQ0KLSAgICAgIHJldHVybiB0cnVlOyAgDQotICB9DQotDQotIH0sDQotDQotcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJv
dG90eXBlLmZpbHRlcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisv
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjIw
LTQtOCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4y
MC8xNS40LjQuMjAtNC04LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZmls
dGVyIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBvYmplY3QiLAorCit0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsKKyAgdHJ5
IHsKKyAgICBhcnIuZmlsdGVyKHt9KTsgICAgCisgIH0KKyAgY2F0Y2goZSkgeworICAgIGlmKGUg
aW5zdGFuY2VvZiBUeXBlRXJyb3IpCisgICAgICByZXR1cm4gdHJ1ZTsgIAorICB9CisKKyB9LAor
CitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFy
cmF5LnByb3RvdHlwZS5maWx0ZXIpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC00LTgu
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTUtMS5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTUt
MS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC01LTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDUg
KzEsNDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40
LjIwLTUtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjIwLzE1LjQuNC4yMC01LTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90
eXBlLmZpbHRlciAtIHRoaXNBcmcgbm90IHBhc3NlZCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7DQotICB2YXIgaW5uZXJUaGlzQ29ycmVjdCA9IGZhbHNlOw0KLSAgDQotICBmdW5j
dGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQotICB7DQotICAgIGlubmVyVGhpc0NvcnJl
Y3QgPSB0aGlzPT09Zm5HbG9iYWxPYmplY3QoKTsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQot
DQotICBbMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KLSAgcmV0dXJuIGlubmVyVGhpc0NvcnJlY3Q7
ICAgIA0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0
dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5maWx0ZXIpOw0KLSB9DQotfSk7DQorLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7CitpZDogIjE1LjQuNC4yMC01LTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMS5qcyIsCisKK2Rlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoaXNBcmcgbm90IHBhc3NlZCIsCisKK3Rlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgaW5uZXJUaGlzQ29ycmVjdCA9IGZhbHNlOwor
ICAKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQorICB7CisgICAgaW5uZXJU
aGlzQ29ycmVjdCA9IHRoaXM9PT1mbkdsb2JhbE9iamVjdCgpOworICAgIHJldHVybiB0cnVlOwor
ICB9CisKKyAgWzFdLmZpbHRlcihjYWxsYmFja2ZuKTsKKyAgcmV0dXJuIGlubmVyVGhpc0NvcnJl
Y3Q7ICAgIAorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZpbHRlcik7CisgfQorfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjIwLTUtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAg
KzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtNS0yLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMjAtNS0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTUtMi5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSw0NyArMSw0NyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
DQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQot
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
DQotaWQ6ICIxNS40LjQuMjAtNS0yIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMi5qcyIsDQotDQotZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhpc0FyZyBpcyBPYmplY3QiLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIHJlcyA9IGZhbHNlOw0KLSAgdmFyIG8gPSBu
ZXcgT2JqZWN0KCk7DQotICBvLnJlcyA9IHRydWU7DQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZh
bCwgaWR4LCBvYmopDQotICB7DQotICAgIHJldHVybiB0aGlzLnJlczsNCi0gIH0NCi0NCi0gIHZh
ciBzcmNBcnIgPSBbMV07DQotICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2Zu
LG8pOw0KLSAgaWYoIHJlc0Fyci5sZW5ndGggPT09IDEpDQotICAgIHJldHVybiB0cnVlOw0KLSB9
LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhp
c3RzKEFycmF5LnByb3RvdHlwZS5maWx0ZXIpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7Citp
ZDogIjE1LjQuNC4yMC01LTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1
LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXku
cHJvdG90eXBlLmZpbHRlciAtIHRoaXNBcmcgaXMgT2JqZWN0IiwKKwordGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7CisgIHZhciByZXMgPSBmYWxzZTsKKyAgdmFyIG8gPSBuZXcgT2JqZWN0KCk7
CisgIG8ucmVzID0gdHJ1ZTsKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQor
ICB7CisgICAgcmV0dXJuIHRoaXMucmVzOworICB9CisKKyAgdmFyIHNyY0FyciA9IFsxXTsKKyAg
dmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbixvKTsKKyAgaWYoIHJlc0Fyci5s
ZW5ndGggPT09IDEpCisgICAgcmV0dXJuIHRydWU7CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZmlsdGVy
KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtNS0yLmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4yMC01LTMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC01LTMuanMJKHJldmlzaW9uIDE5OTU0
OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMjAtNS0zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ4ICsxLDQ4IEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMC01LTMiLA0KLQ0KLXBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMC8xNS40LjQuMjAtNS0z
LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB0aGlzQXJn
IGlzIEFycmF5IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciByZXMg
PSBmYWxzZTsNCi0gIHZhciBhID0gbmV3IEFycmF5KCk7DQotICBhLnJlcyA9IHRydWU7DQotICBm
dW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQotICB7DQotICAgIHJldHVybiB0aGlz
LnJlczsNCi0gIH0NCi0NCi0gIHZhciBzcmNBcnIgPSBbMV07DQotICB2YXIgcmVzQXJyID0gc3Jj
QXJyLmZpbHRlcihjYWxsYmFja2ZuLGEpOw0KLSAgaWYoIHJlc0Fyci5sZW5ndGggPT09IDEpDQot
ICAgIHJldHVybiB0cnVlOw0KLQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5maWx0ZXIpOw0KLSB9
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4yMC01LTMiLAorCitwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMy5qcyIs
CisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoaXNBcmcgaXMgQXJy
YXkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIHJlcyA9IGZhbHNlOwor
ICB2YXIgYSA9IG5ldyBBcnJheSgpOworICBhLnJlcyA9IHRydWU7CisgIGZ1bmN0aW9uIGNhbGxi
YWNrZm4odmFsLCBpZHgsIG9iaikKKyAgeworICAgIHJldHVybiB0aGlzLnJlczsKKyAgfQorCisg
IHZhciBzcmNBcnIgPSBbMV07CisgIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNr
Zm4sYSk7CisgIGlmKCByZXNBcnIubGVuZ3RoID09PSAxKQorICAgIHJldHVybiB0cnVlOworCisg
fSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0
cyhBcnJheS5wcm90b3R5cGUuZmlsdGVyKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAt
NS0zLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC01LTQuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4y
MC01LTQuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtNS00LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDUwICsxLDUwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4N
Ci0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1
LjQuNC4yMC01LTQiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40
LzE1LjQuNC4yMC8xNS40LjQuMjAtNS00LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnBy
b3RvdHlwZS5maWx0ZXIgLSB0aGlzQXJnIGlzIG9iamVjdCBmcm9tIG9iamVjdCB0ZW1wbGF0ZShw
cm90b3R5cGUpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciByZXMg
PSBmYWxzZTsNCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCi0gIHsNCi0g
ICAgcmV0dXJuIHRoaXMucmVzOw0KLSAgfQ0KLSAgDQotICBmdW5jdGlvbiBmb28oKXt9DQotICBm
b28ucHJvdG90eXBlLnJlcyA9IHRydWU7DQotICB2YXIgZiA9IG5ldyBmb28oKTsNCi0NCi0gIHZh
ciBzcmNBcnIgPSBbMV07DQotICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2Zu
LGYpOw0KLSAgaWYoIHJlc0Fyci5sZW5ndGggPT09IDEpDQotICAgIHJldHVybiB0cnVlOyAgICAN
Ci0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVy
biBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZmlsdGVyKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAK
Ky8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggeworaWQ6ICIxNS40LjQuMjAtNS00IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTQuanMiLAorCitkZXNjcmlwdGlvbjog
IkFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB0aGlzQXJnIGlzIG9iamVjdCBmcm9tIG9iamVjdCB0
ZW1wbGF0ZShwcm90b3R5cGUpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZh
ciByZXMgPSBmYWxzZTsKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQorICB7
CisgICAgcmV0dXJuIHRoaXMucmVzOworICB9CisgIAorICBmdW5jdGlvbiBmb28oKXt9CisgIGZv
by5wcm90b3R5cGUucmVzID0gdHJ1ZTsKKyAgdmFyIGYgPSBuZXcgZm9vKCk7CisKKyAgdmFyIHNy
Y0FyciA9IFsxXTsKKyAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbixmKTsK
KyAgaWYoIHJlc0Fyci5sZW5ndGggPT09IDEpCisgICAgcmV0dXJuIHRydWU7ICAgIAorCisgfSwK
KworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhB
cnJheS5wcm90b3R5cGUuZmlsdGVyKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtNS00
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC01LTUuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC01
LTUuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtNS01LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUw
ICsxLDUwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAN
Ci0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0v
Ly8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQu
NC4yMC01LTUiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1
LjQuNC4yMC8xNS40LjQuMjAtNS01LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3Rv
dHlwZS5maWx0ZXIgLSB0aGlzQXJnIGlzIG9iamVjdCBmcm9tIG9iamVjdCB0ZW1wbGF0ZSIsDQot
DQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgcmVzID0gZmFsc2U7DQotICBm
dW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQotICB7DQotICAgIHJldHVybiB0aGlz
LnJlczsNCi0gIH0NCi0NCi0gIGZ1bmN0aW9uIGZvbygpe30NCi0gIHZhciBmID0gbmV3IGZvbygp
Ow0KLSAgZi5yZXMgPSB0cnVlOw0KLSAgDQotICB2YXIgc3JjQXJyID0gWzFdOw0KLSAgdmFyIHJl
c0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbixmKTsNCi0gIGlmKCByZXNBcnIubGVuZ3Ro
ID09PSAxKQ0KLSAgICByZXR1cm4gdHJ1ZTsgICAgDQotDQotIH0sDQotDQotcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
LmZpbHRlcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjIwLTUtNSIs
CisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMC8xNS40
LjQuMjAtNS01LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0g
dGhpc0FyZyBpcyBvYmplY3QgZnJvbSBvYmplY3QgdGVtcGxhdGUiLAorCit0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsKKyAgdmFyIHJlcyA9IGZhbHNlOworICBmdW5jdGlvbiBjYWxsYmFja2Zu
KHZhbCwgaWR4LCBvYmopCisgIHsKKyAgICByZXR1cm4gdGhpcy5yZXM7CisgIH0KKworICBmdW5j
dGlvbiBmb28oKXt9CisgIHZhciBmID0gbmV3IGZvbygpOworICBmLnJlcyA9IHRydWU7CisgIAor
ICB2YXIgc3JjQXJyID0gWzFdOworICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFj
a2ZuLGYpOworICBpZiggcmVzQXJyLmxlbmd0aCA9PT0gMSkKKyAgICByZXR1cm4gdHJ1ZTsgICAg
CisKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZu
RXhpc3RzKEFycmF5LnByb3RvdHlwZS5maWx0ZXIpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4yMC01LTUuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTUtNi5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjIwLTUtNi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC01LTYuanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsNDkgKzEsNDkgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0K
LS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlk
OiAiMTUuNC40LjIwLTUtNiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTYuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLmZpbHRlciAtIHRoaXNBcmcgaXMgZnVuY3Rpb24iLA0KLQ0KLXRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIHJlcyA9IGZhbHNlOw0KLSAgZnVuY3Rpb24gY2Fs
bGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KLSAgew0KLSAgICByZXR1cm4gdGhpcy5yZXM7DQotICB9
DQotDQotICBmdW5jdGlvbiBmb28oKXt9DQotICBmb28ucmVzID0gdHJ1ZTsNCi0gIA0KLSAgdmFy
IHNyY0FyciA9IFsxXTsNCi0gIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4s
Zm9vKTsNCi0gIGlmKCByZXNBcnIubGVuZ3RoID09PSAxKQ0KLSAgICByZXR1cm4gdHJ1ZTsgICAg
DQotDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZpbHRlcik7DQotIH0NCi19KTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKK2lkOiAiMTUuNC40LjIwLTUtNiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4yMC8xNS40LjQuMjAtNS02LmpzIiwKKworZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhpc0FyZyBpcyBmdW5jdGlvbiIsCisKK3Rlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgcmVzID0gZmFsc2U7CisgIGZ1bmN0aW9uIGNh
bGxiYWNrZm4odmFsLCBpZHgsIG9iaikKKyAgeworICAgIHJldHVybiB0aGlzLnJlczsKKyAgfQor
CisgIGZ1bmN0aW9uIGZvbygpe30KKyAgZm9vLnJlcyA9IHRydWU7CisgIAorICB2YXIgc3JjQXJy
ID0gWzFdOworICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuLGZvbyk7Cisg
IGlmKCByZXNBcnIubGVuZ3RoID09PSAxKQorICAgIHJldHVybiB0cnVlOyAgICAKKworIH0sCisK
K3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJy
YXkucHJvdG90eXBlLmZpbHRlcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTUtNi5q
cwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtNi0xLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtNi0x
LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTYtMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiAr
MSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQot
Ly8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
DQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8N
Ci0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8v
IA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIA0KLQ0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40
LjQuMjAtNi0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMjAvMTUuNC40LjIwLTYtMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90
b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoZW1w
dHkgYXJyYXkpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGZ1bmN0aW9u
IGNiKCl7fQ0KLSAgdmFyIGEgPSBbXS5maWx0ZXIoY2IpOw0KLSAgaWYgKEFycmF5LmlzQXJyYXko
YSkgJiYNCi0gICAgICBhLmxlbmd0aCA9PT0gMCkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0N
Ci0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZmlsdGVyLEFycmF5LmlzQXJyYXkpOw0KLSB9DQotfSk7
DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisv
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKKworRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjIwLTYtMSIsCisKK3BhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMC8xNS40LjQuMjAtNi0xLmpzIiwKKwor
ZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJy
YXkgaWYgJ2xlbmd0aCcgaXMgMCAoZW1wdHkgYXJyYXkpIiwKKwordGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7CisgIGZ1bmN0aW9uIGNiKCl7fQorICB2YXIgYSA9IFtdLmZpbHRlcihjYik7Cisg
IGlmIChBcnJheS5pc0FycmF5KGEpICYmCisgICAgICBhLmxlbmd0aCA9PT0gMCkgeworICAgIHJl
dHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZmlsdGVyLEFycmF5LmlzQXJyYXkp
OworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC02LTEuanMKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjIwLTYtMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTYtMi5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4yMC02LTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDggKzEsNDggQEAKLS8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0K
LS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi0NCi1F
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIwLTYtMiIsDQotDQotcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02
LTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm5z
IGFuIGVtcHR5IGFycmF5IGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0
aCBvdmVycmlkZGVuIHRvIG51bGwgKHR5cGUgY29udmVyc2lvbikpIiwNCi0NCi10ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7
DQotICBmdW5jdGlvbiBmb28oKSB7fQ0KLSAgdmFyIGYgPSBuZXcgZm9vKCk7DQotICBmLmxlbmd0
aCA9IG51bGw7DQotICANCi0gIGZ1bmN0aW9uIGNiKCl7fQ0KLSAgdmFyIGEgPSBmLmZpbHRlcihj
Yik7DQotICANCi0gIGlmIChBcnJheS5pc0FycmF5KGEpICYmDQotICAgICAgYS5sZW5ndGggPT09
IDApIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZp
bHRlcixBcnJheS5pc0FycmF5KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwor
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1
LjQuNC4yMC02LTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMjAvMTUuNC40LjIwLTYtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90
eXBlLmZpbHRlciByZXR1cm5zIGFuIGVtcHR5IGFycmF5IGlmICdsZW5ndGgnIGlzIDAgKHN1YmNs
YXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIG51bGwgKHR5cGUgY29udmVyc2lvbikp
IiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZvby5wcm90b3R5cGUgPSBuZXcg
QXJyYXkoMSwgMiwgMyk7CisgIGZ1bmN0aW9uIGZvbygpIHt9CisgIHZhciBmID0gbmV3IGZvbygp
OworICBmLmxlbmd0aCA9IG51bGw7CisgIAorICBmdW5jdGlvbiBjYigpe30KKyAgdmFyIGEgPSBm
LmZpbHRlcihjYik7CisgIAorICBpZiAoQXJyYXkuaXNBcnJheShhKSAmJgorICAgICAgYS5sZW5n
dGggPT09IDApIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZp
bHRlcixBcnJheS5pc0FycmF5KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtNi0yLmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC02LTMuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC02LTMu
anMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtNi0zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ4ICsx
LDQ4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0v
Ly8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQN
Ci0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0K
LS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8g
DQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gDQotDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQu
NC4yMC02LTMiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1
LjQuNC4yMC8xNS40LjQuMjAtNi0zLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3Rv
dHlwZS5maWx0ZXIgcmV0dXJucyBhbiBlbXB0eSBhcnJheSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJj
bGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBmYWxzZSAodHlwZSBjb252ZXJzaW9u
KSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgZm9vLnByb3RvdHlwZSA9
IG5ldyBBcnJheSgxLCAyLCAzKTsNCi0gIGZ1bmN0aW9uIGZvbygpIHt9DQotICB2YXIgZiA9IG5l
dyBmb28oKTsNCi0gIGYubGVuZ3RoID0gZmFsc2U7DQotICANCi0gIGZ1bmN0aW9uIGNiKCl7fQ0K
LSAgdmFyIGEgPSBmLmZpbHRlcihjYik7DQotICANCi0gIGlmIChBcnJheS5pc0FycmF5KGEpICYm
DQotICAgICAgYS5sZW5ndGggPT09IDApIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0s
DQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLmZpbHRlcixBcnJheS5pc0FycmF5KTsNCi0gfQ0KLX0pOw0KKy8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCisKK0VTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4yMC02LTMiLAorCitwYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTYtMy5qcyIsCisKK2Rlc2Ny
aXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm5zIGFuIGVtcHR5IGFycmF5IGlm
ICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIGZh
bHNlICh0eXBlIGNvbnZlcnNpb24pKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewor
ICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOworICBmdW5jdGlvbiBmb28oKSB7
fQorICB2YXIgZiA9IG5ldyBmb28oKTsKKyAgZi5sZW5ndGggPSBmYWxzZTsKKyAgCisgIGZ1bmN0
aW9uIGNiKCl7fQorICB2YXIgYSA9IGYuZmlsdGVyKGNiKTsKKyAgCisgIGlmIChBcnJheS5pc0Fy
cmF5KGEpICYmCisgICAgICBhLmxlbmd0aCA9PT0gMCkgeworICAgIHJldHVybiB0cnVlOworICB9
CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4
aXN0cyhBcnJheS5wcm90b3R5cGUuZmlsdGVyLEFycmF5LmlzQXJyYXkpOworIH0KK30pOwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4yMC02LTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQoj
IyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTYt
NC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjIwLTYtNC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC02LTQuanMJKHdv
cmtpbmcgY29weSkKQEAgLTEsNDggKzEsNDggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QN
Ci0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIwLTYtNCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTQuanMiLA0KLQ0KLWRl
c2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm5zIGFuIGVtcHR5IGFycmF5
IGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRv
IDAgKHR5cGUgY29udmVyc2lvbikpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsN
Ci0gIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQotICBmdW5jdGlvbiBmb28o
KSB7fQ0KLSAgdmFyIGYgPSBuZXcgZm9vKCk7DQotICBmLmxlbmd0aCA9IDA7DQotICANCi0gIGZ1
bmN0aW9uIGNiKCl7fQ0KLSAgdmFyIGEgPSBmLmZpbHRlcihjYik7DQotICANCi0gIGlmIChBcnJh
eS5pc0FycmF5KGEpICYmDQotICAgICAgYS5sZW5ndGggPT09IDApIHsNCi0gICAgcmV0dXJuIHRy
dWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQot
ICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZpbHRlcixBcnJheS5pc0FycmF5KTsN
Ci0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4yMC02LTQiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTYt
NC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm5zIGFu
IGVtcHR5IGFycmF5IGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBv
dmVycmlkZGVuIHRvIDAgKHR5cGUgY29udmVyc2lvbikpIiwKKwordGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7CisgIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7CisgIGZ1bmN0
aW9uIGZvbygpIHt9CisgIHZhciBmID0gbmV3IGZvbygpOworICBmLmxlbmd0aCA9IDA7CisgIAor
ICBmdW5jdGlvbiBjYigpe30KKyAgdmFyIGEgPSBmLmZpbHRlcihjYik7CisgIAorICBpZiAoQXJy
YXkuaXNBcnJheShhKSAmJgorICAgICAgYS5sZW5ndGggPT09IDApIHsKKyAgICByZXR1cm4gdHJ1
ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZpbHRlcixBcnJheS5pc0FycmF5KTsKKyB9Cit9
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtNi00LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4yMC02LTUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC02LTUuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtNi01
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ4ICsxLDQ4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMC02LTUiLA0KLQ0KLXBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMC8xNS40LjQuMjAtNi01LmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5maWx0ZXIgcmV0dXJucyBhbiBlbXB0
eSBhcnJheSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJp
ZGRlbiB0byAnMCcgKHR5cGUgY29udmVyc2lvbikpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsNCi0gIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQotICBmdW5j
dGlvbiBmb28oKSB7fQ0KLSAgdmFyIGYgPSBuZXcgZm9vKCk7DQotICBmLmxlbmd0aCA9ICcwJzsN
Ci0gIA0KLSAgZnVuY3Rpb24gY2IoKXt9DQotICB2YXIgYSA9IGYuZmlsdGVyKGNiKTsNCi0gIA0K
LSAgaWYgKEFycmF5LmlzQXJyYXkoYSkgJiYNCi0gICAgICBhLmxlbmd0aCA9PT0gMCkgew0KLSAg
ICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZmlsdGVyLEFycmF5
LmlzQXJyYXkpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjIwLTYt
NSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMC8x
NS40LjQuMjAtNi01LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZmlsdGVy
IHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJh
eSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gJzAnICh0eXBlIGNvbnZlcnNpb24pKSIsCisKK3Rlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIs
IDMpOworICBmdW5jdGlvbiBmb28oKSB7fQorICB2YXIgZiA9IG5ldyBmb28oKTsKKyAgZi5sZW5n
dGggPSAnMCc7CisgIAorICBmdW5jdGlvbiBjYigpe30KKyAgdmFyIGEgPSBmLmZpbHRlcihjYik7
CisgIAorICBpZiAoQXJyYXkuaXNBcnJheShhKSAmJgorICAgICAgYS5sZW5ndGggPT09IDApIHsK
KyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZpbHRlcixBcnJheS5p
c0FycmF5KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtNi01LmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4yMC02LTYuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC02LTYuanMJKHJldmlzaW9u
IDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMjAtNi02LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUwICsxLDUwIEBACi0vLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
Rg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMC02LTYiLA0K
LQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMC8xNS40
LjQuMjAtNi02LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5maWx0ZXIg
cmV0dXJucyBhbiBlbXB0eSBhcnJheSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5
LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3aXRoIHZhbHVlT2YpIiwNCi0NCi10ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwg
Myk7DQotICBmdW5jdGlvbiBmb28oKSB7fQ0KLSAgdmFyIGYgPSBuZXcgZm9vKCk7DQotICANCi0g
IHZhciBvID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwO319Ow0KLSAgZi5sZW5n
dGggPSBvOw0KLSAgDQotICBmdW5jdGlvbiBjYigpe30NCi0gIHZhciBhID0gZi5maWx0ZXIoY2Ip
Ow0KLSAgDQotICBpZiAoQXJyYXkuaXNBcnJheShhKSAmJg0KLSAgICAgIGEubGVuZ3RoID09PSAw
KSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5maWx0
ZXIsQXJyYXkuaXNBcnJheSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40
LjQuMjAtNi02IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjIwLzE1LjQuNC4yMC02LTYuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlw
ZS5maWx0ZXIgcmV0dXJucyBhbiBlbXB0eSBhcnJheSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFz
c2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3aXRoIHZhbHVlT2YpIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXko
MSwgMiwgMyk7CisgIGZ1bmN0aW9uIGZvbygpIHt9CisgIHZhciBmID0gbmV3IGZvbygpOworICAK
KyAgdmFyIG8gPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDA7fX07CisgIGYubGVu
Z3RoID0gbzsKKyAgCisgIGZ1bmN0aW9uIGNiKCl7fQorICB2YXIgYSA9IGYuZmlsdGVyKGNiKTsK
KyAgCisgIGlmIChBcnJheS5pc0FycmF5KGEpICYmCisgICAgICBhLmxlbmd0aCA9PT0gMCkgewor
ICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZmlsdGVyLEFycmF5Lmlz
QXJyYXkpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC02LTYuanMKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjIwLTYtNy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTYtNy5qcwkocmV2aXNpb24g
MTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4yMC02LTcuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTYgKzEsNTYgQEAKLS8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
DQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIwLTYtNyIsDQot
DQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQu
NC4yMC02LTcuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZpbHRlciBy
ZXR1cm5zIGFuIGVtcHR5IGFycmF5IGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXks
IGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHcvbyB2YWx1ZU9mICh0b1N0cmluZykpIiwNCi0N
Ci10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGZvby5wcm90b3R5cGUgPSBuZXcgQXJy
YXkoMSwgMiwgMyk7DQotICBmdW5jdGlvbiBmb28oKSB7fQ0KLSAgdmFyIGYgPSBuZXcgZm9vKCk7
DQotICANCi0gIHZhciBvID0geyB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gJzAnO319
Ow0KLSAgZi5sZW5ndGggPSBvOw0KLSAgDQotICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1
bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQotICAvLyB0aGF0IHNpbXBs
eSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QN
Ci0gIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0
byBjb252ZXJ0IHRoZSBvYmplY3QNCi0gIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRv
U3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KLSAgLy8gcmVzdWx0aW5nIHN0cmlu
ZyB0byBhIG51bWJlci4NCi0NCi0gIGZ1bmN0aW9uIGNiKCl7fQ0KLSAgdmFyIGEgPSBmLmZpbHRl
cihjYik7DQotICANCi0gIGlmIChBcnJheS5pc0FycmF5KGEpICYmDQotICAgICAgYS5sZW5ndGgg
PT09IDApIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
LmZpbHRlcixBcnJheS5pc0FycmF5KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisv
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDog
IjE1LjQuNC4yMC02LTciLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQu
NC8xNS40LjQuMjAvMTUuNC40LjIwLTYtNy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmZpbHRlciByZXR1cm5zIGFuIGVtcHR5IGFycmF5IGlmICdsZW5ndGgnIGlzIDAgKHN1
YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHcvbyB2YWx1ZU9mICh0
b1N0cmluZykpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZvby5wcm90b3R5
cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7CisgIGZ1bmN0aW9uIGZvbygpIHt9CisgIHZhciBmID0g
bmV3IGZvbygpOworICAKKyAgdmFyIG8gPSB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVy
biAnMCc7fX07CisgIGYubGVuZ3RoID0gbzsKKyAgCisgIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUg
ZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsKKyAgLy8gdGhhdCBz
aW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0
aG9kCisgIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmll
cyB0byBjb252ZXJ0IHRoZSBvYmplY3QKKyAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMg
dG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlCisgIC8vIHJlc3VsdGluZyBzdHJp
bmcgdG8gYSBudW1iZXIuCisKKyAgZnVuY3Rpb24gY2IoKXt9CisgIHZhciBhID0gZi5maWx0ZXIo
Y2IpOworICAKKyAgaWYgKEFycmF5LmlzQXJyYXkoYSkgJiYKKyAgICAgIGEubGVuZ3RoID09PSAw
KSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5maWx0ZXIsQXJy
YXkuaXNBcnJheSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTYtNy5qcwpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtNi04LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtNi04LmpzCShyZXZp
c2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjIwLTYtOC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw2MyArMSw2MyBAQAot
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0K
LQ0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjAtNi04
IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAv
MTUuNC40LjIwLTYtOC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZmls
dGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBB
cnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBbXSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7DQotICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KLSAgZnVu
Y3Rpb24gZm9vKCkge30NCi0gIHZhciBmID0gbmV3IGZvbygpOw0KLSAgDQotICBmLmxlbmd0aCA9
IFtdOw0KLSAgDQotICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRo
b2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQotICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBp
dHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCi0gIC8vIGRvZXMgbm90
IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBv
YmplY3QNCi0gIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9k
IGFuZCBjb252ZXJ0aW5nIHRoZQ0KLSAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4N
Ci0gIC8vDQotICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRo
ZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KLSAgLy8gdGhlbiByZXR1cm5zIHRoZSByZXN1
bHQgb2YgY29uY2F0ZW5hdGluZyB0aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbg0KLSAgLy8g
YmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkg
c3RyaW5nLCB3aGljaA0KLSAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJh
eSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCi0gIC8vIG51bWJlciBuLCB0aGUgYXJy
YXkgY29udmVydHMgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2ggaXMNCi0g
IC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5z
IG1vcmUgdGhhbiBvbmUgZWxlbWVudCwNCi0gIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBu
b3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQotDQotICBmdW5jdGlvbiBj
Yigpe30NCi0gIHZhciBhID0gZi5maWx0ZXIoY2IpOw0KLSAgDQotICBpZiAoQXJyYXkuaXNBcnJh
eShhKSAmJg0KLSAgICAgIGEubGVuZ3RoID09PSAwKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAg
fQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJu
IGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5maWx0ZXIsQXJyYXkuaXNBcnJheSk7DQotIH0NCi19
KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAK
Ky8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworCitFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMjAtNi04IiwKKworcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTguanMiLAor
CitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5maWx0ZXIgcmV0dXJucyBhbiBlbXB0eSBh
cnJheSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRl
biB3aXRoIFtdIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZvby5wcm90b3R5
cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7CisgIGZ1bmN0aW9uIGZvbygpIHt9CisgIHZhciBmID0g
bmV3IGZvbygpOworICAKKyAgZi5sZW5ndGggPSBbXTsKKyAgCisgIC8vIG9iamVjdHMgaW5oZXJp
dCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsKKyAgLy8g
dGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9m
KCkgbWV0aG9kCisgIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4
dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QKKyAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGlu
ZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlCisgIC8vIHJlc3VsdGlu
ZyBzdHJpbmcgdG8gYSBudW1iZXIuCisgIC8vCisgIC8vIFRoZSB0b1N0cmluZyggKSBtZXRob2Qg
b24gQXJyYXkgY29udmVydHMgdGhlIGFycmF5IGVsZW1lbnRzIHRvIHN0cmluZ3MsCisgIC8vIHRo
ZW4gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0
aCBjb21tYXMgaW4KKyAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252
ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaAorICAvLyBjb252ZXJ0cyB0byB0aGUgbnVt
YmVyIDAuIElmIGFuIGFycmF5IGhhcyBhIHNpbmdsZSBlbGVtZW50IHRoYXQgaXMgYQorICAvLyBu
dW1iZXIgbiwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9m
IG4sIHdoaWNoIGlzCisgIC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFu
IGFycmF5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwKKyAgLy8gb3IgaWYgaXRzIG9u
ZSBlbGVtZW50IGlzIG5vdCBhIG51bWJlciwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIE5hTi4KKwor
ICBmdW5jdGlvbiBjYigpe30KKyAgdmFyIGEgPSBmLmZpbHRlcihjYik7CisgIAorICBpZiAoQXJy
YXkuaXNBcnJheShhKSAmJgorICAgICAgYS5sZW5ndGggPT09IDApIHsKKyAgICByZXR1cm4gdHJ1
ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZpbHRlcixBcnJheS5pc0FycmF5KTsKKyB9Cit9
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtNi04LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4yMC05LTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC05LTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtOS0x
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ3ICsxLDQ3IEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMC05LTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMC8xNS40LjQuMjAtOS0xLmpzIiwNCi0N
Ci1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5maWx0ZXIgZG9lc24ndCBjb25zaWRlciBu
ZXcgZWxlbWVudHMgYWRkZWQgYmV5b25kIHRoZSBpbml0aWFsIGxlbmd0aCBvZiBhcnJheSBhZnRl
ciBpdCBpcyBjYWxsZWQiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCi0gIHZh
ciBsYXN0SW5kZXhWaXNpdGVkPS0xOyANCi0gDQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwg
aWR4LCBvYmopDQotICB7DQotICAgIGlmIChpZHg9PT0wKSBvYmpbMTBdID0gMTA7DQotICAgIGxh
c3RJbmRleFZpc2l0ZWQ9aWR4Ow0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0NCi0gIFswLDFd
LmZpbHRlcihjYWxsYmFja2ZuKTsNCi0gIHJldHVybiBsYXN0SW5kZXhWaXNpdGVkID09PSAxOyAg
DQotICANCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJl
dHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZmlsdGVyKTsNCi0gfQ0KLX0pOw0KKy8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisv
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggeworaWQ6ICIxNS40LjQuMjAtOS0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTEuanMiLAorCitkZXNjcmlwdGlv
bjogIkFycmF5LnByb3RvdHlwZS5maWx0ZXIgZG9lc24ndCBjb25zaWRlciBuZXcgZWxlbWVudHMg
YWRkZWQgYmV5b25kIHRoZSBpbml0aWFsIGxlbmd0aCBvZiBhcnJheSBhZnRlciBpdCBpcyBjYWxs
ZWQiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCisgIHZhciBsYXN0SW5kZXhWaXNp
dGVkPS0xOyAKKyAKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQorICB7Cisg
ICAgaWYgKGlkeD09PTApIG9ialsxMF0gPSAxMDsKKyAgICBsYXN0SW5kZXhWaXNpdGVkPWlkeDsK
KyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorCisgIFswLDFdLmZpbHRlcihjYWxsYmFja2ZuKTsKKyAg
cmV0dXJuIGxhc3RJbmRleFZpc2l0ZWQgPT09IDE7ICAKKyAgCisgfSwKKworcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUu
ZmlsdGVyKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtOS0xLmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4yMC05LTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC05LTIuanMJKHJldmlzaW9u
IDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMjAtOS0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUxICsxLDUxIEBACi0vLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
Rg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMC05LTIiLA0KLQ0K
LXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMC8xNS40LjQu
MjAtOS0yLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5maWx0ZXIgY29u
c2lkZXJzIG5ldyB2YWx1ZSBvZiBlbGVtZW50cyBpbiBhcnJheSBhZnRlciBpdCBpcyBjYWxsZWQi
LA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCi0gDQotICBmdW5jdGlvbiBjYWxs
YmFja2ZuKHZhbCwgaWR4LCBvYmopDQotICB7ICAgIA0KLSAgICBzcmNBcnJbMl0gPSAtMTsNCi0g
ICAgc3JjQXJyWzRdID0gLTE7DQotICAgIGlmKHZhbCA+IDApDQotICAgICAgcmV0dXJuIHRydWU7
DQotICAgIGVsc2UNCi0gICAgICByZXR1cm4gZmFsc2U7DQotICB9DQotDQotICB2YXIgc3JjQXJy
ID0gWzEsMiwzLDQsNV07DQotICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2Zu
KTsNCi0gIGlmKHJlc0Fyci5sZW5ndGggPT09IDMgJiYgcmVzQXJyWzBdID09PSAxICYmIHJlc0Fy
clsyXSA9PT0gNCkNCi0gICAgICByZXR1cm4gdHJ1ZTsgIA0KLSAgDQotIH0sDQotDQotcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJv
dG90eXBlLmZpbHRlcik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisv
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjIw
LTktMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4y
MC8xNS40LjQuMjAtOS0yLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZmls
dGVyIGNvbnNpZGVycyBuZXcgdmFsdWUgb2YgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgaXQgaXMg
Y2FsbGVkIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAorIAorICBmdW5jdGlvbiBj
YWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopCisgIHsgICAgCisgICAgc3JjQXJyWzJdID0gLTE7Cisg
ICAgc3JjQXJyWzRdID0gLTE7CisgICAgaWYodmFsID4gMCkKKyAgICAgIHJldHVybiB0cnVlOwor
ICAgIGVsc2UKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgfQorCisgIHZhciBzcmNBcnIgPSBbMSwy
LDMsNCw1XTsKKyAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7CisgIGlm
KHJlc0Fyci5sZW5ndGggPT09IDMgJiYgcmVzQXJyWzBdID09PSAxICYmIHJlc0FyclsyXSA9PT0g
NCkKKyAgICAgIHJldHVybiB0cnVlOyAgCisgIAorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZpbHRlcik7
CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTktMi5qcwpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMjAtOS0zLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtOS0zLmpzCShyZXZpc2lvbiAxOTk1NDkp
CisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjIwLTktMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1MSArMSw1MSBAQAotLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQot
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjAtOS0zIiwNCi0NCi1wYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktMy5q
cyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuZmlsdGVyIGRvZXNuJ3Qgdmlz
aXQgZGVsZXRlZCBlbGVtZW50cyBpbiBhcnJheSBhZnRlciB0aGUgY2FsbCIsDQotDQotdGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KLSANCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBp
ZHgsIG9iaikNCi0gIHsNCi0gICAgZGVsZXRlIHNyY0FyclsyXTsNCi0gICAgZGVsZXRlIHNyY0Fy
cls0XTsNCi0gICAgaWYodmFsID4gMCkNCi0gICAgICByZXR1cm4gdHJ1ZTsNCi0gICAgZWxzZQ0K
LSAgICAgIHJldHVybiBmYWxzZTsNCi0gICB9DQotDQotICB2YXIgc3JjQXJyID0gWzEsMiwzLDQs
NV07DQotICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCi0gIGlmKHJl
c0Fyci5sZW5ndGggPT09IDMgJiYgcmVzQXJyWzBdID09PSAxICYmIHJlc0FyclsyXSA9PT0gNCAp
ICAgIC8vIHR3byBlbGVtZW50cyBkZWxldGVkDQotICAgICAgcmV0dXJuIHRydWU7ICANCi0gIA0K
LSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZu
RXhpc3RzKEFycmF5LnByb3RvdHlwZS5maWx0ZXIpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
CitpZDogIjE1LjQuNC4yMC05LTMiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40
LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktMy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLmZpbHRlciBkb2Vzbid0IHZpc2l0IGRlbGV0ZWQgZWxlbWVudHMgaW4gYXJy
YXkgYWZ0ZXIgdGhlIGNhbGwiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCisgCisg
IGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikKKyAgeworICAgIGRlbGV0ZSBzcmNB
cnJbMl07CisgICAgZGVsZXRlIHNyY0Fycls0XTsKKyAgICBpZih2YWwgPiAwKQorICAgICAgcmV0
dXJuIHRydWU7CisgICAgZWxzZQorICAgICAgcmV0dXJuIGZhbHNlOworICAgfQorCisgIHZhciBz
cmNBcnIgPSBbMSwyLDMsNCw1XTsKKyAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJh
Y2tmbik7CisgIGlmKHJlc0Fyci5sZW5ndGggPT09IDMgJiYgcmVzQXJyWzBdID09PSAxICYmIHJl
c0FyclsyXSA9PT0gNCApICAgIC8vIHR3byBlbGVtZW50cyBkZWxldGVkCisgICAgICByZXR1cm4g
dHJ1ZTsgIAorICAKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAg
cmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5maWx0ZXIpOworIH0KK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4yMC05LTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTktNC5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjIwLTktNC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC05LTQuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDcgKzEsNDcgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggew0KLWlkOiAiMTUuNC40LjIwLTktNCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTQuanMiLA0KLQ0KLWRlc2NyaXB0
aW9uOiAiQXJyYXkucHJvdG90eXBlLmZpbHRlciBkb2Vzbid0IHZpc2l0IGRlbGV0ZWQgZWxlbWVu
dHMgd2hlbiBBcnJheS5sZW5ndGggaXMgZGVjcmVhc2VkIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsgDQotIA0KLSAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0K
LSAgew0KLSAgICBzcmNBcnIubGVuZ3RoID0gMjsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQot
DQotICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNl07DQotICB2YXIgcmVzQXJyID0gc3JjQXJyLmZp
bHRlcihjYWxsYmFja2ZuKTsNCi0gIGlmKHJlc0Fyci5sZW5ndGggPT09IDIgKQ0KLSAgICAgIHJl
dHVybiB0cnVlOyAgDQotICANCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZmlsdGVyKTsNCi0gfQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMjAtOS00IiwKKworcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTQuanMiLAor
CitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5maWx0ZXIgZG9lc24ndCB2aXNpdCBkZWxl
dGVkIGVsZW1lbnRzIHdoZW4gQXJyYXkubGVuZ3RoIGlzIGRlY3JlYXNlZCIsCisKK3Rlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgeyAKKyAKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwg
b2JqKQorICB7CisgICAgc3JjQXJyLmxlbmd0aCA9IDI7CisgICAgcmV0dXJuIHRydWU7CisgIH0K
KworICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNl07CisgIHZhciByZXNBcnIgPSBzcmNBcnIuZmls
dGVyKGNhbGxiYWNrZm4pOworICBpZihyZXNBcnIubGVuZ3RoID09PSAyICkKKyAgICAgIHJldHVy
biB0cnVlOyAgCisgIAorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewor
ICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZpbHRlcik7CisgfQorfSk7CgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjIwLTktNC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMj
IC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtOS01
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMjAtOS01LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTktNS5qcwkod29y
a2luZyBjb3B5KQpAQCAtMSw0OSArMSw0OSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0K
LS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7DQotaWQ6ICIxNS40LjQuMjAtOS01IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktNS5qcyIsDQotDQotZGVzY3Jp
cHRpb246ICJBcnJheS5wcm90b3R5cGUuZmlsdGVyIHByb2Nlc3MgY29uc2lkZXIgbmV3bHkgYWRk
ZWQgZWxlbWVudHMgd2l0aGluIG9yaWdpbmFsIGxlbmd0aCBvZiBhIGluIHNwYXJzZSBhcnJheSIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgbGFzdEluZGV4VmlzaXRl
ZD0tMTsgDQotIA0KLSAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KLSAgew0K
LSAgICBpZiAoaWR4PT09MCkgb2JqWzk5XSA9IDk5Ow0KLSAgICBsYXN0SW5kZXhWaXNpdGVkPWlk
eDsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotDQotICB2YXIgYXJyPW5ldyBBcnJheSgxMDAp
Ow0KLSAgYXJyWzBdPTA7DQotICBhcnJbNV09NTsNCi0gIGFyci5maWx0ZXIoY2FsbGJhY2tmbik7
DQotICByZXR1cm4gbGFzdEluZGV4VmlzaXRlZCA9PT0gOTk7ICAgIA0KLSB9LA0KLQ0KLXByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnBy
b3RvdHlwZS5maWx0ZXIpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4y
MC05LTUiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQu
MjAvMTUuNC40LjIwLTktNS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZp
bHRlciBwcm9jZXNzIGNvbnNpZGVyIG5ld2x5IGFkZGVkIGVsZW1lbnRzIHdpdGhpbiBvcmlnaW5h
bCBsZW5ndGggb2YgYSBpbiBzcGFyc2UgYXJyYXkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKyAgdmFyIGxhc3RJbmRleFZpc2l0ZWQ9LTE7IAorIAorICBmdW5jdGlvbiBjYWxsYmFj
a2ZuKHZhbCwgaWR4LCBvYmopCisgIHsKKyAgICBpZiAoaWR4PT09MCkgb2JqWzk5XSA9IDk5Owor
ICAgIGxhc3RJbmRleFZpc2l0ZWQ9aWR4OworICAgIHJldHVybiB0cnVlOworICB9CisKKyAgdmFy
IGFycj1uZXcgQXJyYXkoMTAwKTsKKyAgYXJyWzBdPTA7CisgIGFycls1XT01OworICBhcnIuZmls
dGVyKGNhbGxiYWNrZm4pOworICByZXR1cm4gbGFzdEluZGV4VmlzaXRlZCA9PT0gOTk7ICAgIAor
IH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLmZpbHRlcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIw
LTktNS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xG
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtOS02LmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MjAtOS02LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTktNi5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSw1MyArMSw1MyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIx
NS40LjQuMjAtOS02IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQu
NC8xNS40LjQuMjAvMTUuNC40LjIwLTktNi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUuZmlsdGVyIHZpc2l0cyBkZWxldGVkIGVsZW1lbnQgaW4gYXJyYXkgYWZ0ZXIgdGhl
IGNhbGwgd2hlbiBzYW1lIGluZGV4IGlzIGFsc28gcHJlc2VudCBpbiBwcm90b3R5cGUiLA0KLQ0K
LXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCi0gDQotICBmdW5jdGlvbiBjYWxsYmFja2Zu
KHZhbCwgaWR4LCBvYmopDQotICB7DQotICAgIGRlbGV0ZSBzcmNBcnJbMl07DQotICAgIGRlbGV0
ZSBzcmNBcnJbNF07DQotICAgIGlmKHZhbCA+IDApDQotICAgICAgcmV0dXJuIHRydWU7DQotICAg
IGVsc2UNCi0gICAgICByZXR1cm4gZmFsc2U7DQotICAgfQ0KLQ0KLSAgQXJyYXkucHJvdG90eXBl
WzRdID0gNTsNCi0gIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsNCi0gIHZhciByZXNBcnIgPSBz
cmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KLSAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVs0XTsN
Ci0gIGlmKHJlc0Fyci5sZW5ndGggPT09IDQgJiYgcmVzQXJyWzBdID09PSAxICYmIHJlc0Fyclsz
XSA9PSA1KSAgICAvLyBvbmx5IG9uZSBlbGVtZW50IGRlbGV0ZWQNCi0gICAgICByZXR1cm4gdHJ1
ZTsgIA0KLSAgDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQot
ICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZpbHRlcik7DQotIH0NCi19KTsNCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjIwLTktNiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMC8xNS40LjQuMjAtOS02LmpzIiwKKworZGVzY3Jp
cHRpb246ICJBcnJheS5wcm90b3R5cGUuZmlsdGVyIHZpc2l0cyBkZWxldGVkIGVsZW1lbnQgaW4g
YXJyYXkgYWZ0ZXIgdGhlIGNhbGwgd2hlbiBzYW1lIGluZGV4IGlzIGFsc28gcHJlc2VudCBpbiBw
cm90b3R5cGUiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCisgCisgIGZ1bmN0aW9u
IGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikKKyAgeworICAgIGRlbGV0ZSBzcmNBcnJbMl07Cisg
ICAgZGVsZXRlIHNyY0Fycls0XTsKKyAgICBpZih2YWwgPiAwKQorICAgICAgcmV0dXJuIHRydWU7
CisgICAgZWxzZQorICAgICAgcmV0dXJuIGZhbHNlOworICAgfQorCisgIEFycmF5LnByb3RvdHlw
ZVs0XSA9IDU7CisgIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsKKyAgdmFyIHJlc0FyciA9IHNy
Y0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7CisgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbNF07Cisg
IGlmKHJlc0Fyci5sZW5ndGggPT09IDQgJiYgcmVzQXJyWzBdID09PSAxICYmIHJlc0FyclszXSA9
PSA1KSAgICAvLyBvbmx5IG9uZSBlbGVtZW50IGRlbGV0ZWQKKyAgICAgIHJldHVybiB0cnVlOyAg
CisgIAorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4g
Zm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZpbHRlcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjIwLTktNi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtOS1iLTEuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4yMC05LWItMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC05LWItMS5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMSw0OCArMSw0OCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
DQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7DQotaWQ6ICIxNS40LjQuMjAtOS1iLTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMC8xNS40LjQuMjAtOS1iLTEuanMiLA0KLQ0KLWRlc2Ny
aXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGNhbGxiYWNrZm4gbm90IGNhbGxlZCBm
b3IgaW5kZXhlcyBuZXZlciBiZWVuIGFzc2lnbmVkIHZhbHVlcyIsDQotDQotdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7IA0KLSANCi0gIHZhciBjYWxsQ250ID0gMDsNCi0gIGZ1bmN0aW9uIGNh
bGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCi0gIHsNCi0gICAgY2FsbENudCsrOw0KLSAgICByZXR1
cm4gZmFsc2U7DQotICB9DQotDQotICB2YXIgc3JjQXJyID0gbmV3IEFycmF5KDEwKTsNCi0gIHNy
Y0FyclsxXSA9IHVuZGVmaW5lZDsgLy9leHBsaWNpdGx5IGFzc2lnbmluZyBhIHZhbHVlDQotICB2
YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCi0gIGlmKCByZXNBcnIubGVu
Z3RoID09PSAwICYmIGNhbGxDbnQgPT09IDEpDQotICAgICAgcmV0dXJuIHRydWU7ICAgIA0KLSB9
LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhp
c3RzKEFycmF5LnByb3RvdHlwZS5maWx0ZXIpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7Citp
ZDogIjE1LjQuNC4yMC05LWItMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4yMC8xNS40LjQuMjAtOS1iLTEuanMiLAorCitkZXNjcmlwdGlvbjogIkFy
cmF5LnByb3RvdHlwZS5maWx0ZXIgLSBjYWxsYmFja2ZuIG5vdCBjYWxsZWQgZm9yIGluZGV4ZXMg
bmV2ZXIgYmVlbiBhc3NpZ25lZCB2YWx1ZXMiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsgCisgCisgIHZhciBjYWxsQ250ID0gMDsKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlk
eCwgb2JqKQorICB7CisgICAgY2FsbENudCsrOworICAgIHJldHVybiBmYWxzZTsKKyAgfQorCisg
IHZhciBzcmNBcnIgPSBuZXcgQXJyYXkoMTApOworICBzcmNBcnJbMV0gPSB1bmRlZmluZWQ7IC8v
ZXhwbGljaXRseSBhc3NpZ25pbmcgYSB2YWx1ZQorICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRl
cihjYWxsYmFja2ZuKTsKKyAgaWYoIHJlc0Fyci5sZW5ndGggPT09IDAgJiYgY2FsbENudCA9PT0g
MSkKKyAgICAgIHJldHVybiB0cnVlOyAgICAKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5maWx0ZXIpOwor
IH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC05LWItMS5qcwpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMjAtOS1jLWlpLTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMC05LWMtaWktMS5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4yMC05LWMtaWktMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1MSArMSw1MSBA
QAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0K
LS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjAtOS1j
LWlpLTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQu
NC4yMC8xNS40LjQuMjAtOS1jLWlpLTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLmZpbHRlciAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJz
IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQotIA0KLSAgdmFyIGJQYXIgPSB0
cnVlOw0KLSAgdmFyIGJDYWxsZWQgPSBmYWxzZTsNCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFs
LCBpZHgsIG9iaikNCi0gIHsNCi0gICAgYkNhbGxlZCA9IHRydWU7DQotICAgIGlmKG9ialtpZHhd
ICE9PSB2YWwpDQotICAgICAgYlBhciA9IGZhbHNlOw0KLSAgfQ0KLQ0KLSAgdmFyIHNyY0FyciA9
IFswLDEsdHJ1ZSxudWxsLG5ldyBPYmplY3QoKSwiZml2ZSJdOw0KLSAgc3JjQXJyWzk5OTk5OV0g
PSAtNi42Ow0KLSAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7DQotICAN
Ci0gIGlmKGJDYWxsZWQgPT09IHRydWUgJiYgYlBhciA9PT0gdHJ1ZSkNCi0gICAgcmV0dXJuIHRy
dWU7DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZpbHRlcik7DQotIH0NCi19KTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKK2lkOiAiMTUuNC40LjIwLTktYy1paS0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMS5qcyIsCisKK2Rl
c2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGNhbGxiYWNrZm4gY2FsbGVkIHdp
dGggY29ycmVjdCBwYXJhbWV0ZXJzIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAor
IAorICB2YXIgYlBhciA9IHRydWU7CisgIHZhciBiQ2FsbGVkID0gZmFsc2U7CisgIGZ1bmN0aW9u
IGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikKKyAgeworICAgIGJDYWxsZWQgPSB0cnVlOworICAg
IGlmKG9ialtpZHhdICE9PSB2YWwpCisgICAgICBiUGFyID0gZmFsc2U7CisgIH0KKworICB2YXIg
c3JjQXJyID0gWzAsMSx0cnVlLG51bGwsbmV3IE9iamVjdCgpLCJmaXZlIl07CisgIHNyY0Fycls5
OTk5OTldID0gLTYuNjsKKyAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7
CisgIAorICBpZihiQ2FsbGVkID09PSB0cnVlICYmIGJQYXIgPT09IHRydWUpCisgICAgcmV0dXJu
IHRydWU7CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVy
biBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZmlsdGVyKTsKKyB9Cit9KTsKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMjAtOS1jLWlpLTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTktYy1p
aS0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMjAtOS1jLWlpLTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjAtOS1j
LWlpLTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDkgKzEsNDkgQEAKLS8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
DQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIwLTktYy1paS0yIiwNCi0NCi1wYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTkt
Yy1paS0yLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBj
YWxsYmFja2ZuIHRha2VzIDMgYXJndW1lbnRzIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsgDQotIA0KLSAgdmFyIHBhckNudCA9IDM7DQotICB2YXIgYkNhbGxlZCA9IGZhbHNlDQot
ICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQotICB7IA0KLSAgICBiQ2FsbGVk
ID0gdHJ1ZTsNCi0gICAgaWYoYXJndW1lbnRzLmxlbmd0aCAhPT0gMykNCi0gICAgICBwYXJDbnQg
PSBhcmd1bWVudHMubGVuZ3RoOyAgIC8vdmVyaWZ5IGlmIGNhbGxiYWNrZm4gd2FzIGNhbGxlZCB3
aXRoIDMgcGFyYW1ldGVycw0KLSAgfQ0KLQ0KLSAgdmFyIHNyY0FyciA9IFswLDEsMiwzLDQsNSw2
LDcsOCw5XTsNCi0gIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KLSAg
aWYoYkNhbGxlZCA9PT0gdHJ1ZSAmJiBwYXJDbnQgPT09IDMpDQotICAgIHJldHVybiB0cnVlOw0K
LSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZu
RXhpc3RzKEFycmF5LnByb3RvdHlwZS5maWx0ZXIpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
CitpZDogIjE1LjQuNC4yMC05LWMtaWktMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4yMC8xNS40LjQuMjAtOS1jLWlpLTIuanMiLAorCitkZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBjYWxsYmFja2ZuIHRha2VzIDMgYXJndW1l
bnRzIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAorIAorICB2YXIgcGFyQ250ID0g
MzsKKyAgdmFyIGJDYWxsZWQgPSBmYWxzZQorICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4
LCBvYmopCisgIHsgCisgICAgYkNhbGxlZCA9IHRydWU7CisgICAgaWYoYXJndW1lbnRzLmxlbmd0
aCAhPT0gMykKKyAgICAgIHBhckNudCA9IGFyZ3VtZW50cy5sZW5ndGg7ICAgLy92ZXJpZnkgaWYg
Y2FsbGJhY2tmbiB3YXMgY2FsbGVkIHdpdGggMyBwYXJhbWV0ZXJzCisgIH0KKworICB2YXIgc3Jj
QXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOworICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRl
cihjYWxsYmFja2ZuKTsKKyAgaWYoYkNhbGxlZCA9PT0gdHJ1ZSAmJiBwYXJDbnQgPT09IDMpCisg
ICAgcmV0dXJuIHRydWU7CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuZmlsdGVyKTsKKyB9Cit9KTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMjAtOS1jLWlpLTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1z
dHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjIwLTktYy1paWktMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIwLTktYy1paWktMS5qcwkocmV2aXNpb24gMTk5
NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4yMC05LWMtaWlpLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTMgKzEsNTMgQEAKLS8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIwLTktYy1paWkt
MSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIw
LzE1LjQuNC4yMC05LWMtaWlpLTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90
eXBlLmZpbHRlciAtIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihhbGwgdHJ1ZSkgb2YgcmV0dXJu
ZWQgYXJyYXkgZWxlbWVudCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICAN
Ci0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iail7DQotICAgIGlmKHZhbCAlIDIp
DQotICAgICAgcmV0dXJuIHRydWU7IA0KLSAgICBlbHNlDQotICAgICAgcmV0dXJuIGZhbHNlOw0K
LSAgfQ0KLSAgdmFyIHNyY0FyciA9IFswLDEsMiwzLDRdOw0KLSAgdmFyIHJlc0FyciA9IHNyY0Fy
ci5maWx0ZXIoY2FsbGJhY2tmbik7DQotICBpZiAocmVzQXJyLmxlbmd0aCA+IDApew0KLSAgICAg
dmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHJlc0FyciwgMSkgDQot
ICAgICBpZihkZXNjLnZhbHVlID09PSAzICYmICAgICAgICAvL3NyY0FyclsxXSA9IHRydWUNCi0g
ICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KLSAgICAgICBkZXNjLmVudW1lcmFibGUg
PT09IHRydWUgJiYNCi0gICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpew0KLSAgICAg
ICAgIHJldHVybiB0cnVlOw0KLSAgICB9DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmZp
bHRlcixPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKTsNCi0gfQ0KLX0pOw0KKy8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisv
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggeworaWQ6ICIxNS40LjQuMjAtOS1jLWlpaS0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEuanMiLAor
CitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBnZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoYWxsIHRydWUpIG9mIHJldHVybmVkIGFycmF5IGVsZW1lbnQiLAorCit0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgCisgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgs
IG9iail7CisgICAgaWYodmFsICUgMikKKyAgICAgIHJldHVybiB0cnVlOyAKKyAgICBlbHNlCisg
ICAgICByZXR1cm4gZmFsc2U7CisgIH0KKyAgdmFyIHNyY0FyciA9IFswLDEsMiwzLDRdOworICB2
YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuKTsKKyAgaWYgKHJlc0Fyci5sZW5n
dGggPiAwKXsKKyAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KHJlc0FyciwgMSkgCisgICAgIGlmKGRlc2MudmFsdWUgPT09IDMgJiYgICAgICAgIC8vc3JjQXJy
WzFdID0gdHJ1ZQorICAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYKKyAgICAgICBkZXNj
LmVudW1lcmFibGUgPT09IHRydWUgJiYKKyAgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1
ZSl7CisgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgIH0KKyB9LAorCitwcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlw
ZS5maWx0ZXIsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CisgfQorfSk7CgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjIwLTktYy1paWktMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MjEtMC0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtMC0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTAtMS5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSwzNiArMSwzNiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjEtMC0xIiwNCi0NCi1wYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTAtMS5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIG11c3QgZXhpc3QgYXMgYSBm
dW5jdGlvbiIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZiA9IEFy
cmF5LnByb3RvdHlwZS5yZWR1Y2U7DQotICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7
DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTUuNC40LjIxLTAtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUu
NC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMC0xLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUucmVkdWNlIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiIsCisKK3Rlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgeworICB2YXIgZiA9IEFycmF5LnByb3RvdHlwZS5yZWR1Y2U7CisgIGlm
ICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0K
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS0wLTEuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjIxLTAtMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTAtMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS0w
LTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzkgKzEsMzkgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi0NCi1FUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIxLTAtMiIsDQotDQotcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0wLTIuanMi
LA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZS5sZW5ndGggbXVzdCBi
ZSAxIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmIChBcnJheS5wcm90
b3R5cGUucmVkdWNlLmxlbmd0aCA9PT0gMSkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0g
fSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4
aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
CitpZDogIjE1LjQuNC4yMS0wLTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40
LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTAtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLnJlZHVjZS5sZW5ndGggbXVzdCBiZSAxIiwKKwordGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7CisgIGlmIChBcnJheS5wcm90b3R5cGUucmVkdWNlLmxlbmd0aCA9PT0gMSkg
eworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKKyB9
Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtMC0yLmpzCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
b2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4yMS0xMC0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtMTAtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQor
KysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4y
MS0xMC0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUxICsxLDUxIEBACi0vLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0v
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMS0xMC0xIiwNCi0NCi1wYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEwLTEu
anMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSBkb2Vzbid0IG11
dGF0ZSB0aGUgQXJyYXkgb24gd2hpY2ggaXQgaXMgY2FsbGVkIG9uIiwNCi0NCi10ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3Vy
VmFsLCAgaWR4LCBvYmopDQotICB7DQotICAgIHJldHVybiAxOw0KLSAgfQ0KLSAgdmFyIHNyY0Fy
ciA9IFsxLDIsMyw0LDVdOw0KLSAgc3JjQXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCi0gIGlmKHNy
Y0FyclswXSA9PT0gMSAmJg0KLSAgICAgc3JjQXJyWzFdID09PSAyICYmDQotICAgICBzcmNBcnJb
Ml0gPT09IDMgJiYNCi0gICAgIHNyY0FyclszXSA9PT0gNCAmJg0KLSAgICAgc3JjQXJyWzRdID09
PSA1KQ0KLSAgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0NCi0gfSwNCi0NCi1wcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90
b3R5cGUucmVkdWNlKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMjEt
MTAtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4y
MS8xNS40LjQuMjEtMTAtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJl
ZHVjZSBkb2Vzbid0IG11dGF0ZSB0aGUgQXJyYXkgb24gd2hpY2ggaXQgaXMgY2FsbGVkIG9uIiwK
KwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbihw
cmV2VmFsLCBjdXJWYWwsICBpZHgsIG9iaikKKyAgeworICAgIHJldHVybiAxOworICB9CisgIHZh
ciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsKKyAgc3JjQXJyLnJlZHVjZShjYWxsYmFja2ZuKTsKKyAg
aWYoc3JjQXJyWzBdID09PSAxICYmCisgICAgIHNyY0FyclsxXSA9PT0gMiAmJgorICAgICBzcmNB
cnJbMl0gPT09IDMgJiYKKyAgICAgc3JjQXJyWzNdID09PSA0ICYmCisgICAgIHNyY0Fycls0XSA9
PT0gNSkKKyAgeworICAgIHJldHVybiB0cnVlOworICB9CisKKyB9LAorCitwcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5y
ZWR1Y2UpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS0xMC0xLmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4yMS0xMC0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtMTAtMi5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4yMS0xMC0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ2ICsxLDQ2IEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMS0xMC0yIiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUu
NC40LjIxLTEwLTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVj
ZSByZWR1Y2VzIHRoZSBhcnJheSBpbiBhc2NlbmRpbmcgb3JkZXIgb2YgaW5kaWNlcyIsDQotDQot
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHBy
ZXZWYWwsIGN1clZhbCwgIGlkeCwgb2JqKQ0KLSAgew0KLSAgICByZXR1cm4gcHJldlZhbCArIGN1
clZhbDsNCi0gIH0NCi0gIHZhciBzcmNBcnIgPSBbJzEnLCcyJywnMycsJzQnLCc1J107DQotICBp
ZihzcmNBcnIucmVkdWNlKGNhbGxiYWNrZm4pID09PSAnMTIzNDUnKQ0KLSAgew0KLSAgICByZXR1
cm4gdHJ1ZTsNCi0gIH0NCi0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsNCi0gfQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMjEtMTAtMiIsCisKK3BhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMTAtMi5qcyIs
CisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSByZWR1Y2VzIHRoZSBhcnJh
eSBpbiBhc2NlbmRpbmcgb3JkZXIgb2YgaW5kaWNlcyIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgeworCisgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCAgaWR4LCBv
YmopCisgIHsKKyAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsKKyAgfQorICB2YXIgc3JjQXJy
ID0gWycxJywnMicsJzMnLCc0JywnNSddOworICBpZihzcmNBcnIucmVkdWNlKGNhbGxiYWNrZm4p
ID09PSAnMTIzNDUnKQorICB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKworIH0sCisKK3ByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJv
dG90eXBlLnJlZHVjZSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTEwLTIuanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTEwLTMuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS0xMC0zLmpz
CShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjIxLTEwLTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEs
NDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8v
LyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0K
LS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQot
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyAN
Ci0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIx
LTEwLTMiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQu
NC4yMS8xNS40LjQuMjEtMTAtMy5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5
cGUucmVkdWNlIC0gc3ViY2xhc3NlZCBhcnJheSBvZiBsZW5ndGggMSIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotICBmb28ucHJvdG90eXBlID0gWzFdOw0KLSAgZnVuY3Rpb24g
Zm9vKCkge30NCi0gIHZhciBmID0gbmV3IGZvbygpOw0KLSAgDQotICBmdW5jdGlvbiBjYigpe30N
Ci0gIGlmKGYucmVkdWNlKGNiKSA9PT0gMSkNCi0gICAgcmV0dXJuIHRydWU7DQotIH0sDQotDQot
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJy
YXkucHJvdG90eXBlLnJlZHVjZSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MK
Ky8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUu
NC40LjIxLTEwLTMiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMjEvMTUuNC40LjIxLTEwLTMuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3Rv
dHlwZS5yZWR1Y2UgLSBzdWJjbGFzc2VkIGFycmF5IG9mIGxlbmd0aCAxIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgIGZvby5wcm90b3R5cGUgPSBbMV07CisgIGZ1bmN0aW9uIGZv
bygpIHt9CisgIHZhciBmID0gbmV3IGZvbygpOworICAKKyAgZnVuY3Rpb24gY2IoKXt9CisgIGlm
KGYucmVkdWNlKGNiKSA9PT0gMSkKKyAgICByZXR1cm4gdHJ1ZTsKKyB9LAorCitwcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlw
ZS5yZWR1Y2UpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS0xMC0zLmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4yMS0xMC00LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtMTAtNC5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4yMS0xMC00LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
DQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMS0xMC00
IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEv
MTUuNC40LjIxLTEwLTQuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJl
ZHVjZSAtIHN1YmNsYXNzZWQgYXJyYXkgd2l0aCBsZW5ndGggbW9yZSB0aGFuIDEiLA0KLQ0KLXRl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgx
LCAyLCAzLCA0KTsNCi0gIGZ1bmN0aW9uIGZvbygpIHt9DQotICB2YXIgZiA9IG5ldyBmb28oKTsN
Ci0gIA0KLSAgZnVuY3Rpb24gY2IocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iail7cmV0dXJuIHBy
ZXZWYWwgKyBjdXJWYWw7fQ0KLSAgaWYoZi5yZWR1Y2UoY2IpID09PSAxMCkNCi0gICAgcmV0dXJu
IHRydWU7DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICBy
ZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7DQotIH0NCi19KTsNCisvLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsKK2lkOiAiMTUuNC40LjIxLTEwLTQiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEwLTQuanMiLAorCitkZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBzdWJjbGFzc2VkIGFycmF5IHdpdGggbGVu
Z3RoIG1vcmUgdGhhbiAxIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZvby5w
cm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMywgNCk7CisgIGZ1bmN0aW9uIGZvbygpIHt9Cisg
IHZhciBmID0gbmV3IGZvbygpOworICAKKyAgZnVuY3Rpb24gY2IocHJldlZhbCwgY3VyVmFsLCBp
ZHgsIG9iail7cmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7fQorICBpZihmLnJlZHVjZShjYikgPT09
IDEwKQorICAgIHJldHVybiB0cnVlOworIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CisgfQor
fSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTEwLTQuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjIxLTEwLTUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS0xMC01LmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIx
LTEwLTUuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDYgKzEsNDYgQEAKLS8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
DQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIxLTEwLTUiLA0KLQ0KLXBhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMTAtNS5q
cyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIHJlZHVjZXMgdGhl
IGFycmF5IGluIGFzY2VuZGluZyBvcmRlciBvZiBpbmRpY2VzKGluaXRpYWx2YWx1ZSBwcmVzZW50
KSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICBmdW5jdGlvbiBjYWxs
YmFja2ZuKHByZXZWYWwsIGN1clZhbCwgIGlkeCwgb2JqKQ0KLSAgew0KLSAgICByZXR1cm4gcHJl
dlZhbCArIGN1clZhbDsNCi0gIH0NCi0gIHZhciBzcmNBcnIgPSBbJzEnLCcyJywnMycsJzQnLCc1
J107DQotICBpZihzcmNBcnIucmVkdWNlKGNhbGxiYWNrZm4sJzAnKSA9PT0gJzAxMjM0NScpDQot
ICB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5y
ZWR1Y2UpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisv
Ly8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4yMS0xMC01IiwK
KworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQu
NC4yMS0xMC01LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIHJl
ZHVjZXMgdGhlIGFycmF5IGluIGFzY2VuZGluZyBvcmRlciBvZiBpbmRpY2VzKGluaXRpYWx2YWx1
ZSBwcmVzZW50KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgIGZ1bmN0aW9u
IGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCAgaWR4LCBvYmopCisgIHsKKyAgICByZXR1cm4g
cHJldlZhbCArIGN1clZhbDsKKyAgfQorICB2YXIgc3JjQXJyID0gWycxJywnMicsJzMnLCc0Jywn
NSddOworICBpZihzcmNBcnIucmVkdWNlKGNhbGxiYWNrZm4sJzAnKSA9PT0gJzAxMjM0NScpCisg
IHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsK
KyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtMTAtNS5qcwpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMjEtMTAtNi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTEwLTYuanMJKHJldmlzaW9uIDE5OTU0
OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMjEtMTAtNi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
DQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0v
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjEtMTAtNiIsDQotDQotcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0x
MC02LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBzdWJj
bGFzc2VkIGFycmF5IHdoZW4gaW5pdGlhbHZhbHVlIHByb3ZpZGVkIiwNCi0NCi10ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGZvby5wcm90b3R5cGUgPSBbMSwyLDMsNF07DQotICBmdW5j
dGlvbiBmb28oKSB7fQ0KLSAgdmFyIGYgPSBuZXcgZm9vKCk7DQotICANCi0gIGZ1bmN0aW9uIGNi
KHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmope3JldHVybiBwcmV2VmFsICsgY3VyVmFsO30NCi0g
IGlmKGYucmVkdWNlKGNiLC0xKSA9PT0gOSkNCi0gICAgcmV0dXJuIHRydWU7DQotIH0sDQotDQot
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJy
YXkucHJvdG90eXBlLnJlZHVjZSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MK
Ky8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUu
NC40LjIxLTEwLTYiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8x
NS40LjQuMjEvMTUuNC40LjIxLTEwLTYuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3Rv
dHlwZS5yZWR1Y2UgLSBzdWJjbGFzc2VkIGFycmF5IHdoZW4gaW5pdGlhbHZhbHVlIHByb3ZpZGVk
IiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZvby5wcm90b3R5cGUgPSBbMSwy
LDMsNF07CisgIGZ1bmN0aW9uIGZvbygpIHt9CisgIHZhciBmID0gbmV3IGZvbygpOworICAKKyAg
ZnVuY3Rpb24gY2IocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iail7cmV0dXJuIHByZXZWYWwgKyBj
dXJWYWw7fQorICBpZihmLnJlZHVjZShjYiwtMSkgPT09IDkpCisgICAgcmV0dXJuIHRydWU7Cisg
fSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0
cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEt
MTAtNi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xG
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtMTAtNy5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjIxLTEwLTcuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtMTAtNy5qcwkod29ya2luZyBjb3B5KQpA
QCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQot
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6
ICIxNS40LjQuMjEtMTAtNyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC03LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFy
cmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBzdWJjbGFzc2VkIGFycmF5IHdpdGggbGVuZ3RoIDEgYW5k
IGluaXRpYWx2YWx1ZSBwcm92aWRlZCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
DQotICBmb28ucHJvdG90eXBlID0gWzFdOw0KLSAgZnVuY3Rpb24gZm9vKCkge30NCi0gIHZhciBm
ID0gbmV3IGZvbygpOw0KLSAgDQotICBmdW5jdGlvbiBjYihwcmV2VmFsLCBjdXJWYWwsIGlkeCwg
b2JqKXtyZXR1cm4gcHJldlZhbCArIGN1clZhbDt9DQotICBpZihmLnJlZHVjZShjYiwtMSkgPT09
IDApDQotICAgIHJldHVybiB0cnVlOw0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOw0K
LSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
CisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
CisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4yMS0xMC03IiwKKworcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC03
LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gc3ViY2xhc3Nl
ZCBhcnJheSB3aXRoIGxlbmd0aCAxIGFuZCBpbml0aWFsdmFsdWUgcHJvdmlkZWQiLAorCit0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgZm9vLnByb3RvdHlwZSA9IFsxXTsKKyAgZnVuY3Rp
b24gZm9vKCkge30KKyAgdmFyIGYgPSBuZXcgZm9vKCk7CisgIAorICBmdW5jdGlvbiBjYihwcmV2
VmFsLCBjdXJWYWwsIGlkeCwgb2JqKXtyZXR1cm4gcHJldlZhbCArIGN1clZhbDt9CisgIGlmKGYu
cmVkdWNlKGNiLC0xKSA9PT0gMCkKKyAgICByZXR1cm4gdHJ1ZTsKKyB9LAorCitwcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlw
ZS5yZWR1Y2UpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS0xMC03LmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4yMS0xMC04LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtMTAtOC5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4yMS0xMC04LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUyICsxLDUyIEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
DQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMS0xMC04
IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEv
MTUuNC40LjIxLTEwLTguanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJl
ZHVjZSBkb2Vzbid0IHZpc2l0IGV4cGFuZG9zIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsNCi0NCi0gIHZhciBjYWxsQ250ID0gMDsNCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJl
dlZhbCwgY3VyVmFsLCAgaWR4LCBvYmopDQotICB7DQotICAgIGNhbGxDbnQrKzsNCi0gICAgcmV0
dXJuIGN1clZhbDsNCi0gIH0NCi0gIHZhciBzcmNBcnIgPSBbJzEnLCcyJywnMycsJzQnLCc1J107
DQotICBzcmNBcnJbImkiXSA9IDEwOw0KLSAgc3JjQXJyW3RydWVdID0gMTE7DQotICBzcmNBcnIu
cmVkdWNlKGNhbGxiYWNrZm4pOw0KLQ0KLSAgaWYoY2FsbENudCA9PSA0KQ0KLSAgew0KLSAgICBy
ZXR1cm4gdHJ1ZTsNCi0gIH0NCi0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsNCi0g
fQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAor
Ly8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQK
Ky8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgor
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMjEtMTAtOCIsCisKK3BhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMTAtOC5q
cyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSBkb2Vzbid0IHZpc2l0
IGV4cGFuZG9zIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgdmFyIGNhbGxD
bnQgPSAwOworICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgIGlkeCwgb2Jq
KQorICB7CisgICAgY2FsbENudCsrOworICAgIHJldHVybiBjdXJWYWw7CisgIH0KKyAgdmFyIHNy
Y0FyciA9IFsnMScsJzInLCczJywnNCcsJzUnXTsKKyAgc3JjQXJyWyJpIl0gPSAxMDsKKyAgc3Jj
QXJyW3RydWVdID0gMTE7CisgIHNyY0Fyci5yZWR1Y2UoY2FsbGJhY2tmbik7CisKKyAgaWYoY2Fs
bENudCA9PSA0KQorICB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKworIH0sCisKK3ByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90
eXBlLnJlZHVjZSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTEwLTguanMKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTQtMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTQtMS5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4yMS00LTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDUgKzEsNDUgQEAK
LS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0v
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAN
Ci0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIxLTQtMSIs
DQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1
LjQuNC4yMS00LTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVj
ZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgdW5kZWZpbmVkIiwNCi0NCi10ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0K
LSAgdHJ5IHsNCi0gICAgYXJyLnJlZHVjZSgpOyAgICANCi0gIH0NCi0gIGNhdGNoKGUpIHsNCi0g
ICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCi0gICAgICByZXR1cm4gdHJ1ZTsgIA0KLSAg
fQ0KLQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0
dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOw0KLSB9DQotfSk7DQorLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7CitpZDogIjE1LjQuNC4yMS00LTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTQtMS5qcyIsCisKK2Rlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4g
aXMgdW5kZWZpbmVkIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgdmFyIGFy
ciA9IG5ldyBBcnJheSgxMCk7CisgIHRyeSB7CisgICAgYXJyLnJlZHVjZSgpOyAgICAKKyAgfQor
ICBjYXRjaChlKSB7CisgICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikKKyAgICAgIHJldHVy
biB0cnVlOyAgCisgIH0KKworIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
eworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CisgfQorfSk7CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjIxLTQtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEt
NC0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMjEtNC0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTQtMi5qcwko
d29ya2luZyBjb3B5KQpAQCAtMSw0NSArMSw0NSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjEtNC0yIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTQtMi5qcyIsDQotDQotZGVz
Y3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBSZWZlcmVuY2VFcnJvciBp
ZiBjYWxsYmFja2ZuIGlzIHVucmVmZXJlbmNlZCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7DQotDQotICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCi0gIHRyeSB7DQotICAgIGFy
ci5yZWR1Y2UoZm9vKTsgICAgDQotICB9DQotICBjYXRjaChlKSB7DQotICAgIGlmKGUgaW5zdGFu
Y2VvZiBSZWZlcmVuY2VFcnJvcikNCi0gICAgICByZXR1cm4gdHJ1ZTsgIA0KLSAgfQ0KLQ0KLSB9
LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhp
c3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7Citp
ZDogIjE1LjQuNC4yMS00LTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1
LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTQtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXku
cHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgUmVmZXJlbmNlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyB1
bnJlZmVyZW5jZWQiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICB2YXIgYXJy
ID0gbmV3IEFycmF5KDEwKTsKKyAgdHJ5IHsKKyAgICBhcnIucmVkdWNlKGZvbyk7ICAgIAorICB9
CisgIGNhdGNoKGUpIHsKKyAgICBpZihlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpCisgICAg
ICByZXR1cm4gdHJ1ZTsgIAorICB9CisKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOworIH0K
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS00LTIuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjIxLTQtMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTQtMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS00
LTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIxLTQtMyIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTMuanMiLA0K
LQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9y
IGlmIGNhbGxiYWNrZm4gaXMgbnVsbCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
DQotDQotICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCi0gIHRyeSB7DQotICAgIGFyci5yZWR1
Y2UobnVsbCk7ICAgIA0KLSAgfQ0KLSAgY2F0Y2goZSkgew0KLSAgICBpZihlIGluc3RhbmNlb2Yg
VHlwZUVycm9yKQ0KLSAgICAgIHJldHVybiB0cnVlOyAgDQotICB9DQotDQotIH0sDQotDQotcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLnJlZHVjZSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40
LjIxLTQtMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQu
NC4yMS8xNS40LjQuMjEtNC0zLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUu
cmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudWxsIiwKKwordGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7CisgIHRy
eSB7CisgICAgYXJyLnJlZHVjZShudWxsKTsgICAgCisgIH0KKyAgY2F0Y2goZSkgeworICAgIGlm
KGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpCisgICAgICByZXR1cm4gdHJ1ZTsgIAorICB9CisKKyB9
LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3Rz
KEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS00
LTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTQtNC5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIx
LTQtNC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS00LTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
NDUgKzEsNDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUu
NC40LjIxLTQtNCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQv
MTUuNC40LjIxLzE1LjQuNC4yMS00LTQuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgYm9vbGVhbiIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICB2YXIgYXJyID0gbmV3IEFy
cmF5KDEwKTsNCi0gIHRyeSB7DQotICAgIGFyci5yZWR1Y2UodHJ1ZSk7ICAgIA0KLSAgfQ0KLSAg
Y2F0Y2goZSkgew0KLSAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KLSAgICAgIHJldHVy
biB0cnVlOyAgDQotICB9DQotDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7DQotIH0N
Ci19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8v
LyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisv
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjIxLTQtNCIsCisKK3BhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNC00LmpzIiwK
KworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3Ig
aWYgY2FsbGJhY2tmbiBpcyBib29sZWFuIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
CisKKyAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7CisgIHRyeSB7CisgICAgYXJyLnJlZHVjZSh0
cnVlKTsgICAgCisgIH0KKyAgY2F0Y2goZSkgeworICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJy
b3IpCisgICAgICByZXR1cm4gdHJ1ZTsgIAorICB9CisKKyB9LAorCitwcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1
Y2UpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS00LTQuanMKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjIxLTQtNS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTQtNS5qcwkocmV2aXNpb24gMTk5
NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4yMS00LTUuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQot
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1F
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIxLTQtNSIsDQotDQotcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00
LTUuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3Mg
VHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgbnVtYmVyIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsNCi0NCi0gIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KLSAgdHJ5IHsNCi0g
ICAgYXJyLnJlZHVjZSg1KTsgICAgDQotICB9DQotICBjYXRjaChlKSB7DQotICAgIGlmKGUgaW5z
dGFuY2VvZiBUeXBlRXJyb3IpDQotICAgICAgcmV0dXJuIHRydWU7ICANCi0gIH0NCi0NCi0gfSwN
Ci0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0
cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6
ICIxNS40LjQuMjEtNC01IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40
LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTUuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnBy
b3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG51bWJlciIs
CisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgIHZhciBhcnIgPSBuZXcgQXJyYXko
MTApOworICB0cnkgeworICAgIGFyci5yZWR1Y2UoNSk7ICAgIAorICB9CisgIGNhdGNoKGUpIHsK
KyAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQorICAgICAgcmV0dXJuIHRydWU7ICAKKyAg
fQorCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMjEtNC01LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAj
IworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS00LTYuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4yMS00LTYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtNC02LmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDQ1ICsxLDQ1IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IN
Ci0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0v
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1p
ZDogIjE1LjQuNC4yMS00LTYiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNC02LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFy
cmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHN0
cmluZyIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQotICB2YXIgYXJyID0g
bmV3IEFycmF5KDEwKTsNCi0gIHRyeSB7DQotICAgIGFyci5yZWR1Y2UoImFiYyIpOyAgICANCi0g
IH0NCi0gIGNhdGNoKGUpIHsNCi0gICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCi0gICAg
ICByZXR1cm4gdHJ1ZTsgIA0KLSAgfQ0KLQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2Up
Ow0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisv
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisv
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4yMS00LTYiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTQt
Ni5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlw
ZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgc3RyaW5nIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7CisKKyAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7CisgIHRyeSB7CisgICAgYXJyLnJl
ZHVjZSgiYWJjIik7ICAgIAorICB9CisgIGNhdGNoKGUpIHsKKyAgICBpZihlIGluc3RhbmNlb2Yg
VHlwZUVycm9yKQorICAgICAgcmV0dXJuIHRydWU7ICAKKyAgfQorCisgfSwKKworcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUucmVkdWNlKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtNC02LmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4yMS00LTcuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS00LTcuanMJKHJldmlz
aW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMjEtNC03LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ1ICsxLDQ1IEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMS00LTciLA0K
LQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40
LjQuMjEtNC03LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2Ug
dGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIE9iamVjdCB3aXRob3V0IFtbQ2FsbF1d
IGludGVybmFsIG1ldGhvZCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotDQot
ICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCi0gIHRyeSB7DQotICAgIGFyci5yZWR1Y2UobmV3
IE9iamVjdCgpKTsgICAgDQotICB9DQotICBjYXRjaChlKSB7DQotICAgIGlmKGUgaW5zdGFuY2Vv
ZiBUeXBlRXJyb3IpDQotICAgICAgcmV0dXJuIHRydWU7ICANCi0gIH0NCi0NCi0gfSwNCi0NCi1w
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJh
eS5wcm90b3R5cGUucmVkdWNlKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwor
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40
LjQuMjEtNC03IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjIxLzE1LjQuNC4yMS00LTcuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlw
ZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIE9iamVjdCB3aXRob3V0
IFtbQ2FsbF1dIGludGVybmFsIG1ldGhvZCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
eworCisgIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOworICB0cnkgeworICAgIGFyci5yZWR1Y2Uo
bmV3IE9iamVjdCgpKTsgICAgCisgIH0KKyAgY2F0Y2goZSkgeworICAgIGlmKGUgaW5zdGFuY2Vv
ZiBUeXBlRXJyb3IpCisgICAgICByZXR1cm4gdHJ1ZTsgIAorICB9CisKKyB9LAorCitwcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3Rv
dHlwZS5yZWR1Y2UpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS00LTcuanMKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTQtOC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTQtOC5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4yMS00LTguanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDUgKzEsNDUgQEAK
LS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0v
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAN
Ci0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIxLTQtOCIs
DQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1
LjQuNC4yMS00LTguanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVj
ZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgb2JqZWN0IiwNCi0NCi10ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KLSAg
dHJ5IHsNCi0gICAgYXJyLnJlZHVjZSh7fSk7ICAgIA0KLSAgfQ0KLSAgY2F0Y2goZSkgew0KLSAg
ICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KLSAgICAgIHJldHVybiB0cnVlOyAgDQotICB9
DQotDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7DQotIH0NCi19KTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKK2lkOiAiMTUuNC40LjIxLTQtOCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNC04LmpzIiwKKworZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBp
cyBvYmplY3QiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICB2YXIgYXJyID0g
bmV3IEFycmF5KDEwKTsKKyAgdHJ5IHsKKyAgICBhcnIucmVkdWNlKHt9KTsgICAgCisgIH0KKyAg
Y2F0Y2goZSkgeworICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpCisgICAgICByZXR1cm4g
dHJ1ZTsgIAorICB9CisKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsK
KyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOworIH0KK30pOwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4yMS00LTguanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQoj
IyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTUt
MS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjIxLTUtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS01LTEuanMJKHdv
cmtpbmcgY29weSkKQEAgLTEsNDYgKzEsNDYgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QN
Ci0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIxLTUtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTEuanMiLA0KLQ0KLWRl
c2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIGlmICds
ZW5ndGgnIGlzIDAgKGVtcHR5IGFycmF5KSwgbm8gaW5pdFZhbCIsDQotDQotdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7DQotICBmdW5jdGlvbiBjYigpe30NCi0gIA0KLSAgdHJ5IHsNCi0gICAg
W10ucmVkdWNlKGNiKTsNCi0gIH0NCi0gIGNhdGNoIChlKSB7DQotICAgIGlmIChlIGluc3RhbmNl
b2YgVHlwZUVycm9yKSB7DQotICAgICAgcmV0dXJuIHRydWU7DQotICAgIH0NCi0gIH0NCi0gfSwN
Ci0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0
cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7Citp
ZDogIjE1LjQuNC4yMS01LTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1
LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTUtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXku
cHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIGlmICdsZW5ndGgnIGlzIDAgKGVtcHR5
IGFycmF5KSwgbm8gaW5pdFZhbCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBm
dW5jdGlvbiBjYigpe30KKyAgCisgIHRyeSB7CisgICAgW10ucmVkdWNlKGNiKTsKKyAgfQorICBj
YXRjaCAoZSkgeworICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7CisgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICB9CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOworIH0KK30p
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4yMS01LTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1z
dHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjIxLTUtMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTUtMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS01LTIu
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTAgKzEsNTAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQot
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIxLTUtMiIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTIuanMiLA0K
LQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9y
IGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRv
IG51bGwgKHR5cGUgY29udmVyc2lvbikpLCBubyBpbml0VmFsIiwNCi0NCi10ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsNCi0gIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQot
ICBmdW5jdGlvbiBmb28oKSB7fQ0KLSAgdmFyIGYgPSBuZXcgZm9vKCk7DQotICBmLmxlbmd0aCA9
IG51bGw7DQotICANCi0gIGZ1bmN0aW9uIGNiKCl7fQ0KLSAgdHJ5IHsNCi0gICAgZi5yZWR1Y2Uo
Y2IpOw0KLSAgfQ0KLSAgY2F0Y2ggKGUpIHsNCi0gICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJy
b3IpIHsNCi0gICAgICByZXR1cm4gdHJ1ZTsNCi0gICAgfQ0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnBy
b3RvdHlwZS5yZWR1Y2UpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40
LjIxLTUtMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQu
NC4yMS8xNS40LjQuMjEtNS0yLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUu
cmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJh
eSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gbnVsbCAodHlwZSBjb252ZXJzaW9uKSksIG5vIGluaXRW
YWwiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgZm9vLnByb3RvdHlwZSA9IG5l
dyBBcnJheSgxLCAyLCAzKTsKKyAgZnVuY3Rpb24gZm9vKCkge30KKyAgdmFyIGYgPSBuZXcgZm9v
KCk7CisgIGYubGVuZ3RoID0gbnVsbDsKKyAgCisgIGZ1bmN0aW9uIGNiKCl7fQorICB0cnkgewor
ICAgIGYucmVkdWNlKGNiKTsKKyAgfQorICBjYXRjaCAoZSkgeworICAgIGlmIChlIGluc3RhbmNl
b2YgVHlwZUVycm9yKSB7CisgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgIH0KKyB9LAorCitw
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5
LnByb3RvdHlwZS5yZWR1Y2UpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS01LTIuanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTUtMy5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTUtMy5q
cwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4yMS01LTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTAgKzEs
NTAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8v
LyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0K
LS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQot
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyAN
Ci0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiANCi0NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40
LjIxLTUtMyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUu
NC40LjIxLzE1LjQuNC4yMS01LTMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90
eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQg
QXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIGZhbHNlICh0eXBlIGNvbnZlcnNpb24pKSwgbm8g
aW5pdFZhbCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBmb28ucHJvdG90
eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KLSAgZnVuY3Rpb24gZm9vKCkge30NCi0gIHZhciBm
ID0gbmV3IGZvbygpOw0KLSAgZi5sZW5ndGggPSBmYWxzZTsNCi0gIA0KLSAgZnVuY3Rpb24gY2Io
KXt9DQotICB0cnkgew0KLSAgICBmLnJlZHVjZShjYik7DQotICB9DQotICBjYXRjaCAoZSkgew0K
LSAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KLSAgICAgIHJldHVybiB0cnVlOw0K
LSAgICB9DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7DQotIH0NCi19KTsN
CisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworCitFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMjEtNS0zIiwKKworcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTMuanMiLAorCitk
ZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciBpZiAn
bGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBmYWxz
ZSAodHlwZSBjb252ZXJzaW9uKSksIG5vIGluaXRWYWwiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsKKyAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsKKyAgZnVuY3Rp
b24gZm9vKCkge30KKyAgdmFyIGYgPSBuZXcgZm9vKCk7CisgIGYubGVuZ3RoID0gZmFsc2U7Cisg
IAorICBmdW5jdGlvbiBjYigpe30KKyAgdHJ5IHsKKyAgICBmLnJlZHVjZShjYik7CisgIH0KKyAg
Y2F0Y2ggKGUpIHsKKyAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgeworICAgICAgcmV0
dXJuIHRydWU7CisgICAgfQorICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKKyB9Cit9
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtNS0zLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wt
c3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4yMS01LTQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS01LTQuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtNS00
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUwICsxLDUwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMS01LTQiLA0KLQ0KLXBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNS00LmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJv
ciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0
byAwICh0eXBlIGNvbnZlcnNpb24pKSwgbm8gaW5pdFZhbCIsDQotDQotdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7DQotICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KLSAg
ZnVuY3Rpb24gZm9vKCkge30NCi0gIHZhciBmID0gbmV3IGZvbygpOw0KLSAgZi5sZW5ndGggPSAw
Ow0KLSAgDQotICBmdW5jdGlvbiBjYigpe30NCi0gIHRyeSB7DQotICAgIGYucmVkdWNlKGNiKTsN
Ci0gIH0NCi0gIGNhdGNoIChlKSB7DQotICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7
DQotICAgICAgcmV0dXJuIHRydWU7DQotICAgIH0NCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUucmVkdWNlKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKKworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4yMS01
LTQiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEv
MTUuNC40LjIxLTUtNC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVj
ZSB0aHJvd3MgVHlwZUVycm9yIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxl
bmd0aCBvdmVycmlkZGVuIHRvIDAgKHR5cGUgY29udmVyc2lvbikpLCBubyBpbml0VmFsIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXko
MSwgMiwgMyk7CisgIGZ1bmN0aW9uIGZvbygpIHt9CisgIHZhciBmID0gbmV3IGZvbygpOworICBm
Lmxlbmd0aCA9IDA7CisgIAorICBmdW5jdGlvbiBjYigpe30KKyAgdHJ5IHsKKyAgICBmLnJlZHVj
ZShjYik7CisgIH0KKyAgY2F0Y2ggKGUpIHsKKyAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJv
cikgeworICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICB9CisgfSwKKworcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUu
cmVkdWNlKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtNS00LmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4yMS01LTUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS01LTUuanMJKHJldmlzaW9u
IDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMjEtNS01LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUwICsxLDUwIEBACi0vLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
Rg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMS01LTUiLA0K
LQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40
LjQuMjEtNS01LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2Ug
dGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5n
dGggb3ZlcnJpZGRlbiB0byAnMCcgKHR5cGUgY29udmVyc2lvbikpLCBubyBpbml0VmFsIiwNCi0N
Ci10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGZvby5wcm90b3R5cGUgPSBuZXcgQXJy
YXkoMSwgMiwgMyk7DQotICBmdW5jdGlvbiBmb28oKSB7fQ0KLSAgdmFyIGYgPSBuZXcgZm9vKCk7
DQotICBmLmxlbmd0aCA9ICcwJzsNCi0gIA0KLSAgZnVuY3Rpb24gY2IoKXt9DQotICB0cnkgew0K
LSAgICBmLnJlZHVjZShjYik7DQotICB9DQotICBjYXRjaCAoZSkgew0KLSAgICBpZiAoZSBpbnN0
YW5jZW9mIFR5cGVFcnJvcikgew0KLSAgICAgIHJldHVybiB0cnVlOw0KLSAgICB9DQotICB9DQot
IH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5F
eGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
eworaWQ6ICIxNS40LjQuMjEtNS01IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTUuanMiLAorCitkZXNjcmlwdGlvbjogIkFy
cmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChz
dWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAnMCcgKHR5cGUgY29udmVyc2lv
bikpLCBubyBpbml0VmFsIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZvby5w
cm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7CisgIGZ1bmN0aW9uIGZvbygpIHt9CisgIHZh
ciBmID0gbmV3IGZvbygpOworICBmLmxlbmd0aCA9ICcwJzsKKyAgCisgIGZ1bmN0aW9uIGNiKCl7
fQorICB0cnkgeworICAgIGYucmVkdWNlKGNiKTsKKyAgfQorICBjYXRjaCAoZSkgeworICAgIGlm
IChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7CisgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9Cisg
IH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZu
RXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4yMS01LTUuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTUtNi5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjIxLTUtNi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS01LTYuanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsNTIgKzEsNTIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0K
LS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LWlkOiAiMTUuNC40LjIxLTUtNiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTYuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAi
QXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIGlmICdsZW5ndGgnIGlzIDAg
KHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHdpdGggdmFsdWVP
ZiksIG5vIGluaXRWYWwiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgZm9v
LnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCi0gIGZ1bmN0aW9uIGZvbygpIHt9DQot
ICB2YXIgZiA9IG5ldyBmb28oKTsNCi0gIA0KLSAgdmFyIG8gPSB7IHZhbHVlT2Y6IGZ1bmN0aW9u
ICgpIHsgcmV0dXJuIDA7fX07DQotICBmLmxlbmd0aCA9IG87DQotICANCi0gIGZ1bmN0aW9uIGNi
KCl7fQ0KLSAgdHJ5IHsNCi0gICAgZi5yZWR1Y2UoY2IpOw0KLSAgfQ0KLSAgY2F0Y2ggKGUpIHsN
Ci0gICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCi0gICAgICByZXR1cm4gdHJ1ZTsN
Ci0gICAgfQ0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
ew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOw0KLSB9DQotfSk7
DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisv
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKKworRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjIxLTUtNiIsCisKK3BhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNS02LmpzIiwKKwor
ZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYg
J2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBv
Ymogd2l0aCB2YWx1ZU9mKSwgbm8gaW5pdFZhbCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgeworICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOworICBmdW5jdGlvbiBm
b28oKSB7fQorICB2YXIgZiA9IG5ldyBmb28oKTsKKyAgCisgIHZhciBvID0geyB2YWx1ZU9mOiBm
dW5jdGlvbiAoKSB7IHJldHVybiAwO319OworICBmLmxlbmd0aCA9IG87CisgIAorICBmdW5jdGlv
biBjYigpe30KKyAgdHJ5IHsKKyAgICBmLnJlZHVjZShjYik7CisgIH0KKyAgY2F0Y2ggKGUpIHsK
KyAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgeworICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgfQorICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJl
dHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKKyB9Cit9KTsKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMjEtNS02LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS01LTcuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4yMS01LTcuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtNS03LmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDU4ICsxLDU4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
Ci0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsNCi1pZDogIjE1LjQuNC4yMS01LTciLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNS03LmpzIiwNCi0NCi1kZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3Ro
JyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3L28g
dmFsdWVPZiAodG9TdHJpbmcpKSwgbm8gaW5pdFZhbCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7DQotICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KLSAgZnVu
Y3Rpb24gZm9vKCkge30NCi0gIHZhciBmID0gbmV3IGZvbygpOw0KLSAgDQotICB2YXIgbyA9IHsg
dG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcwJzt9fTsNCi0gIGYubGVuZ3RoID0gbzsN
Ci0gIA0KLSAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9m
IHRoZSBPYmplY3Qgb2JqZWN0Ow0KLSAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxm
LiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQotICAvLyBkb2VzIG5vdCByZXR1
cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0
DQotICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQg
Y29udmVydGluZyB0aGUNCi0gIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQotDQot
ICBmdW5jdGlvbiBjYigpe30NCi0gIHRyeSB7DQotICAgIGYucmVkdWNlKGNiKTsNCi0gIH0NCi0g
IGNhdGNoIChlKSB7DQotICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQotICAgICAg
cmV0dXJuIHRydWU7DQotICAgIH0NCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNl
KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bwor
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAor
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKwor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4yMS01LTciLAorCitw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIx
LTUtNy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3Mg
VHlwZUVycm9yIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVy
cmlkZGVuIHdpdGggb2JqIHcvbyB2YWx1ZU9mICh0b1N0cmluZykpLCBubyBpbml0VmFsIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXko
MSwgMiwgMyk7CisgIGZ1bmN0aW9uIGZvbygpIHt9CisgIHZhciBmID0gbmV3IGZvbygpOworICAK
KyAgdmFyIG8gPSB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAnMCc7fX07CisgIGYu
bGVuZ3RoID0gbzsKKyAgCisgIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9m
IG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsKKyAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0
aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kCisgIC8vIGRvZXMg
bm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRo
ZSBvYmplY3QKKyAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRo
b2QgYW5kIGNvbnZlcnRpbmcgdGhlCisgIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIu
CisKKyAgZnVuY3Rpb24gY2IoKXt9CisgIHRyeSB7CisgICAgZi5yZWR1Y2UoY2IpOworICB9Cisg
IGNhdGNoIChlKSB7CisgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsKKyAgICAgIHJl
dHVybiB0cnVlOworICAgIH0KKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CisgfQor
fSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTUtNy5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMjEtNS04LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtNS04LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTUt
OC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw2NSArMSw2NSBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjEtNS04IiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTUtOC5qcyIs
DQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJy
b3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4g
d2l0aCBbXSksIG5vIGluaXRWYWwiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LSAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCi0gIGZ1bmN0aW9uIGZvbygp
IHt9DQotICB2YXIgZiA9IG5ldyBmb28oKTsNCi0gIA0KLSAgZi5sZW5ndGggPSBbXTsNCi0gIA0K
LSAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBP
YmplY3Qgb2JqZWN0Ow0KLSAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5j
ZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQotICAvLyBkb2VzIG5vdCByZXR1cm4gYSBw
cmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQotICAv
LyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVy
dGluZyB0aGUNCi0gIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQotICAvLw0KLSAg
Ly8gVGhlIHRvU3RyaW5nKCApIG1ldGhvZCBvbiBBcnJheSBjb252ZXJ0cyB0aGUgYXJyYXkgZWxl
bWVudHMgdG8gc3RyaW5ncywNCi0gIC8vIHRoZW4gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNh
dGVuYXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMgaW4NCi0gIC8vIGJldHdlZW4uIEFu
IGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hp
Y2gNCi0gIC8vIGNvbnZlcnRzIHRvIHRoZSBudW1iZXIgMC4gSWYgYW4gYXJyYXkgaGFzIGEgc2lu
Z2xlIGVsZW1lbnQgdGhhdCBpcyBhDQotICAvLyBudW1iZXIgbiwgdGhlIGFycmF5IGNvbnZlcnRz
IHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4sIHdoaWNoIGlzDQotICAvLyB0aGVuIGNv
bnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4g
b25lIGVsZW1lbnQsDQotICAvLyBvciBpZiBpdHMgb25lIGVsZW1lbnQgaXMgbm90IGEgbnVtYmVy
LCB0aGUgYXJyYXkgY29udmVydHMgdG8gTmFOLg0KLQ0KLSAgZnVuY3Rpb24gY2IoKXt9DQotICB0
cnkgew0KLSAgICBmLnJlZHVjZShjYik7DQotICB9DQotICBjYXRjaCAoZSkgew0KLSAgICBpZiAo
ZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KLSAgICAgIHJldHVybiB0cnVlOw0KLSAgICB9DQot
ICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7DQotIH0NCi19KTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggeworaWQ6ICIxNS40LjQuMjEtNS04IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTguanMiLAorCitkZXNjcmlwdGlv
bjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBp
cyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIFtdKSwgbm8gaW5p
dFZhbCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBmb28ucHJvdG90eXBlID0g
bmV3IEFycmF5KDEsIDIsIDMpOworICBmdW5jdGlvbiBmb28oKSB7fQorICB2YXIgZiA9IG5ldyBm
b28oKTsKKyAgCisgIGYubGVuZ3RoID0gW107CisgIAorICAvLyBvYmplY3RzIGluaGVyaXQgdGhl
IGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7CisgIC8vIHRoYXQg
c2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1l
dGhvZAorICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJp
ZXMgdG8gY29udmVydCB0aGUgb2JqZWN0CisgIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRz
IHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQorICAvLyByZXN1bHRpbmcgc3Ry
aW5nIHRvIGEgbnVtYmVyLgorICAvLworICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFy
cmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLAorICAvLyB0aGVuIHJl
dHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29t
bWFzIGluCisgIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMg
dG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gKKyAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAw
LiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGEKKyAgLy8gbnVtYmVy
IG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3
aGljaCBpcworICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJh
eSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsCisgIC8vIG9yIGlmIGl0cyBvbmUgZWxl
bWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uCisKKyAgZnVu
Y3Rpb24gY2IoKXt9CisgIHRyeSB7CisgICAgZi5yZWR1Y2UoY2IpOworICB9CisgIGNhdGNoIChl
KSB7CisgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsKKyAgICAgIHJldHVybiB0cnVl
OworICAgIH0KKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewor
ICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CisgfQorfSk7CgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjIxLTUtOC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMj
IC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtNy0x
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMjEtNy0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTctMS5qcwkod29y
a2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0K
LS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7DQotaWQ6ICIxNS40LjQuMjEtNy0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTctMS5qcyIsDQotDQotZGVzY3Jp
cHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICds
ZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChlbXB0eSBhcnJheSkiLA0K
LQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgZnVuY3Rpb24gY2IoKXt9DQotICAN
Ci0gIHRyeSB7DQotICAgIGlmKFtdLnJlZHVjZShjYiwxKSA9PT0gMSkNCi0gICAgICByZXR1cm4g
dHJ1ZTsNCi0gIH0NCi0gIGNhdGNoIChlKSB7ICB9ICANCi0gfSwNCi0NCi1wcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUu
cmVkdWNlKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
Ly8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMjEtNy0xIiwK
KworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQu
NC4yMS03LTEuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgcmV0
dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHBy
ZXNlbnQgKGVtcHR5IGFycmF5KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBm
dW5jdGlvbiBjYigpe30KKyAgCisgIHRyeSB7CisgICAgaWYoW10ucmVkdWNlKGNiLDEpID09PSAx
KQorICAgICAgcmV0dXJuIHRydWU7CisgIH0KKyAgY2F0Y2ggKGUpIHsgIH0gIAorIH0sCisKK3By
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLnJlZHVjZSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTctMS5qcwpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtNy0yLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtNy0yLmpz
CShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjIxLTctMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NiArMSw0
NiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8v
IA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQot
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0v
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0K
LS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjEt
Ny0yIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQu
MjEvMTUuNC40LjIxLTctMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUu
cmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxW
YWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBu
dWxsICh0eXBlIGNvbnZlcnNpb24pKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
DQotICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KLSAgZnVuY3Rpb24gZm9v
KCkge30NCi0gIHZhciBmID0gbmV3IGZvbygpOw0KLSAgZi5sZW5ndGggPSBudWxsOw0KLSAgDQot
ICBmdW5jdGlvbiBjYigpe30NCi0gIHRyeSB7DQotICAgIGlmKGYucmVkdWNlKGNiLDEpID09PSAx
KQ0KLSAgICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSAgY2F0Y2ggKGUpIHsgIH0gIA0KLSB9LA0K
LQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3Rz
KEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDog
IjE1LjQuNC4yMS03LTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQu
NC8xNS40LjQuMjEvMTUuNC40LjIxLTctMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLnJlZHVjZSByZXR1cm5zIGluaXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBp
bml0aWFsVmFsdWUgaXMgcHJlc2VudCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRk
ZW4gdG8gbnVsbCAodHlwZSBjb252ZXJzaW9uKSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKyAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsKKyAgZnVuY3Rpb24g
Zm9vKCkge30KKyAgdmFyIGYgPSBuZXcgZm9vKCk7CisgIGYubGVuZ3RoID0gbnVsbDsKKyAgCisg
IGZ1bmN0aW9uIGNiKCl7fQorICB0cnkgeworICAgIGlmKGYucmVkdWNlKGNiLDEpID09PSAxKQor
ICAgICAgcmV0dXJuIHRydWU7CisgIH0KKyAgY2F0Y2ggKGUpIHsgIH0gIAorIH0sCisKK3ByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJv
dG90eXBlLnJlZHVjZSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTctMi5qcwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtNy0zLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtNy0zLmpzCShy
ZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjIxLTctMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NiArMSw0NiBA
QAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0K
LS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjEtNy0z
IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEv
MTUuNC40LjIxLTctMy5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVk
dWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1
ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBmYWxz
ZSAodHlwZSBjb252ZXJzaW9uKSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LSAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCi0gIGZ1bmN0aW9uIGZvbygp
IHt9DQotICB2YXIgZiA9IG5ldyBmb28oKTsNCi0gIGYubGVuZ3RoID0gZmFsc2U7DQotICANCi0g
IGZ1bmN0aW9uIGNiKCl7fQ0KLSAgdHJ5IHsNCi0gICAgaWYoZi5yZWR1Y2UoY2IsMSkgPT09IDEp
DQotICAgICAgcmV0dXJuIHRydWU7DQotICB9DQotICBjYXRjaCAoZSkgeyAgfSAgDQotIH0sDQot
DQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMo
QXJyYXkucHJvdG90eXBlLnJlZHVjZSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAi
MTUuNC40LjIxLTctMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40
LzE1LjQuNC4yMS8xNS40LjQuMjEtNy0zLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90
b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGlu
aXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRl
biB0byBmYWxzZSAodHlwZSBjb252ZXJzaW9uKSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKyAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsKKyAgZnVuY3Rpb24g
Zm9vKCkge30KKyAgdmFyIGYgPSBuZXcgZm9vKCk7CisgIGYubGVuZ3RoID0gZmFsc2U7CisgIAor
ICBmdW5jdGlvbiBjYigpe30KKyAgdHJ5IHsKKyAgICBpZihmLnJlZHVjZShjYiwxKSA9PT0gMSkK
KyAgICAgIHJldHVybiB0cnVlOworICB9CisgIGNhdGNoIChlKSB7ICB9ICAKKyB9LAorCitwcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnBy
b3RvdHlwZS5yZWR1Y2UpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS03LTMuanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTctNC5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTctNC5qcwko
cmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4yMS03LTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDYgKzEsNDYg
QEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyAN
Ci0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0v
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIxLTct
NCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIx
LzE1LjQuNC4yMS03LTQuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJl
ZHVjZSByZXR1cm5zIGluaXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBpbml0aWFsVmFs
dWUgaXMgcHJlc2VudCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gMCAo
dHlwZSBjb252ZXJzaW9uKSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAg
Zm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCi0gIGZ1bmN0aW9uIGZvbygpIHt9
DQotICB2YXIgZiA9IG5ldyBmb28oKTsNCi0gIGYubGVuZ3RoID0gMDsNCi0gIA0KLSAgZnVuY3Rp
b24gY2IoKXt9DQotICB0cnkgew0KLSAgICBpZihmLnJlZHVjZShjYiwxKSA9PT0gMSkNCi0gICAg
ICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gIGNhdGNoIChlKSB7ICB9ICANCi0gfSwNCi0NCi1wcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5w
cm90b3R5cGUucmVkdWNlKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IK
Ky8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQu
MjEtNy00IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40
LjIxLzE1LjQuNC4yMS03LTQuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5y
ZWR1Y2UgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZh
bHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIDAg
KHR5cGUgY29udmVyc2lvbikpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZv
by5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7CisgIGZ1bmN0aW9uIGZvbygpIHt9Cisg
IHZhciBmID0gbmV3IGZvbygpOworICBmLmxlbmd0aCA9IDA7CisgIAorICBmdW5jdGlvbiBjYigp
e30KKyAgdHJ5IHsKKyAgICBpZihmLnJlZHVjZShjYiwxKSA9PT0gMSkKKyAgICAgIHJldHVybiB0
cnVlOworICB9CisgIGNhdGNoIChlKSB7ICB9ICAKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2Up
OworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS03LTQuanMKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjIxLTctNS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTctNS5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4yMS03LTUuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDYgKzEsNDYgQEAKLS8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0K
LS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIxLTctNSIsDQotDQotcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTUu
anMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSByZXR1cm5zIGlu
aXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCAo
c3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gJzAnICh0eXBlIGNvbnZlcnNp
b24pKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBmb28ucHJvdG90eXBl
ID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KLSAgZnVuY3Rpb24gZm9vKCkge30NCi0gIHZhciBmID0g
bmV3IGZvbygpOw0KLSAgZi5sZW5ndGggPSAnMCc7DQotICANCi0gIGZ1bmN0aW9uIGNiKCl7fQ0K
LSAgdHJ5IHsNCi0gICAgaWYoZi5yZWR1Y2UoY2IsMSkgPT09IDEpDQotICAgICAgcmV0dXJuIHRy
dWU7DQotICB9DQotICBjYXRjaCAoZSkgeyAgfSAgDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJl
ZHVjZSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8v
LyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjIxLTctNSIsCisK
K3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQu
MjEtNy01LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVy
bnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVz
ZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAnMCcgKHR5cGUgY29u
dmVyc2lvbikpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZvby5wcm90b3R5
cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7CisgIGZ1bmN0aW9uIGZvbygpIHt9CisgIHZhciBmID0g
bmV3IGZvbygpOworICBmLmxlbmd0aCA9ICcwJzsKKyAgCisgIGZ1bmN0aW9uIGNiKCl7fQorICB0
cnkgeworICAgIGlmKGYucmVkdWNlKGNiLDEpID09PSAxKQorICAgICAgcmV0dXJuIHRydWU7Cisg
IH0KKyAgY2F0Y2ggKGUpIHsgIH0gIAorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CisgfQor
fSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTctNS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMjEtNy02LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtNy02LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTct
Ni5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0OCArMSw0OCBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjEtNy02IiwNCi0NCi1wYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTctNi5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZh
bHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFz
c2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3aXRoIHZhbHVlT2YpIiwNCi0N
Ci10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGZvby5wcm90b3R5cGUgPSBuZXcgQXJy
YXkoMSwgMiwgMyk7DQotICBmdW5jdGlvbiBmb28oKSB7fQ0KLSAgdmFyIGYgPSBuZXcgZm9vKCk7
DQotICANCi0gIHZhciBvID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwO319Ow0K
LSAgZi5sZW5ndGggPSBvOw0KLSAgDQotICBmdW5jdGlvbiBjYigpe30NCi0gIHRyeSB7DQotICAg
IGlmKGYucmVkdWNlKGNiLDEpID09PSAxKQ0KLSAgICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSAg
Y2F0Y2ggKGUpIHsgIH0gIA0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOw0KLSB9DQot
fSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8g
CisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwK
Ky8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4yMS03LTYiLAorCitwYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTctNi5qcyIsCisK
K2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSByZXR1cm5zIGluaXRpYWxWYWx1
ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCAoc3ViY2xhc3Nl
ZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogd2l0aCB2YWx1ZU9mKSIsCisKK3Rl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEs
IDIsIDMpOworICBmdW5jdGlvbiBmb28oKSB7fQorICB2YXIgZiA9IG5ldyBmb28oKTsKKyAgCisg
IHZhciBvID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwO319OworICBmLmxlbmd0
aCA9IG87CisgIAorICBmdW5jdGlvbiBjYigpe30KKyAgdHJ5IHsKKyAgICBpZihmLnJlZHVjZShj
YiwxKSA9PT0gMSkKKyAgICAgIHJldHVybiB0cnVlOworICB9CisgIGNhdGNoIChlKSB7ICB9ICAK
KyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhp
c3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4y
MS03LTYuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitM
RgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTctNy5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjIxLTctNy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS03LTcuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsNTQgKzEsNTQgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
Lg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAi
MTUuNC40LjIxLTctNyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40
LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTcuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXku
cHJvdG90eXBlLnJlZHVjZSByZXR1cm5zIGluaXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAwIGFu
ZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJy
aWRkZW4gd2l0aCBvYmogdy9vIHZhbHVlT2YgKHRvU3RyaW5nKSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgew0KLSAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsN
Ci0gIGZ1bmN0aW9uIGZvbygpIHt9DQotICB2YXIgZiA9IG5ldyBmb28oKTsNCi0gIA0KLSAgdmFy
IG8gPSB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAnMCc7fX07DQotICBmLmxlbmd0
aCA9IG87DQotICANCi0gIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1l
dGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCi0gIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhl
IGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KLSAgLy8gZG9lcyBu
b3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhl
IG9iamVjdA0KLSAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRo
b2QgYW5kIGNvbnZlcnRpbmcgdGhlDQotICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVy
Lg0KLQ0KLSAgZnVuY3Rpb24gY2IoKXt9DQotICB0cnkgew0KLSAgICBpZihmLnJlZHVjZShjYiwx
KSA9PT0gMSkNCi0gICAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gIGNhdGNoIChlKSB7ICB9ICAN
Ci0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
eworaWQ6ICIxNS40LjQuMjEtNy03IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTcuanMiLAorCitkZXNjcmlwdGlvbjogIkFy
cmF5LnByb3RvdHlwZS5yZWR1Y2UgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMg
MCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBv
dmVycmlkZGVuIHdpdGggb2JqIHcvbyB2YWx1ZU9mICh0b1N0cmluZykpIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7
CisgIGZ1bmN0aW9uIGZvbygpIHt9CisgIHZhciBmID0gbmV3IGZvbygpOworICAKKyAgdmFyIG8g
PSB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAnMCc7fX07CisgIGYubGVuZ3RoID0g
bzsKKyAgCisgIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBv
ZiB0aGUgT2JqZWN0IG9iamVjdDsKKyAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxm
LiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kCisgIC8vIGRvZXMgbm90IHJldHVy
biBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QK
KyAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNv
bnZlcnRpbmcgdGhlCisgIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuCisKKyAgZnVu
Y3Rpb24gY2IoKXt9CisgIHRyeSB7CisgICAgaWYoZi5yZWR1Y2UoY2IsMSkgPT09IDEpCisgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgfQorICBjYXRjaCAoZSkgeyAgfSAgCisgfSwKKworcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUucmVkdWNlKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtNy03LmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4yMS03LTguanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS03LTguanMJKHJldmlz
aW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMjEtNy04LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYxICsxLDYxIEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMS03LTgiLA0K
LQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40
LjQuMjEtNy04LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2Ug
cmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlz
IHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggW10pIiwN
Ci0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGZvby5wcm90b3R5cGUgPSBuZXcg
QXJyYXkoMSwgMiwgMyk7DQotICBmdW5jdGlvbiBmb28oKSB7fQ0KLSAgdmFyIGYgPSBuZXcgZm9v
KCk7DQotICANCi0gIGYubGVuZ3RoID0gW107DQotICANCi0gIC8vIG9iamVjdHMgaW5oZXJpdCB0
aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCi0gIC8vIHRo
YXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigp
IG1ldGhvZA0KLSAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0
IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KLSAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGlu
ZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQotICAvLyByZXN1bHRp
bmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KLSAgLy8NCi0gIC8vIFRoZSB0b1N0cmluZyggKSBtZXRo
b2Qgb24gQXJyYXkgY29udmVydHMgdGhlIGFycmF5IGVsZW1lbnRzIHRvIHN0cmluZ3MsDQotICAv
LyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3Ms
IHdpdGggY29tbWFzIGluDQotICAvLyBiZXR3ZWVuLiBBbiBhcnJheSB3aXRoIG5vIGVsZW1lbnRz
IGNvbnZlcnRzIHRvIHRoZSBlbXB0eSBzdHJpbmcsIHdoaWNoDQotICAvLyBjb252ZXJ0cyB0byB0
aGUgbnVtYmVyIDAuIElmIGFuIGFycmF5IGhhcyBhIHNpbmdsZSBlbGVtZW50IHRoYXQgaXMgYQ0K
LSAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRh
dGlvbiBvZiBuLCB3aGljaCBpcw0KLSAgLy8gdGhlbiBjb252ZXJ0ZWQgYmFjayB0byBuIGl0c2Vs
Zi4gSWYgYW4gYXJyYXkgY29udGFpbnMgbW9yZSB0aGFuIG9uZSBlbGVtZW50LA0KLSAgLy8gb3Ig
aWYgaXRzIG9uZSBlbGVtZW50IGlzIG5vdCBhIG51bWJlciwgdGhlIGFycmF5IGNvbnZlcnRzIHRv
IE5hTi4NCi0NCi0gIGZ1bmN0aW9uIGNiKCl7fQ0KLSAgdHJ5IHsNCi0gICAgaWYoZi5yZWR1Y2Uo
Y2IsMSkgPT09IDEpDQotICAgICAgcmV0dXJuIHRydWU7DQotICB9DQotICBjYXRjaCAoZSkgeyAg
fSAgDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7DQotIH0NCi19KTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKK2lkOiAiMTUuNC40LjIxLTctOCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNy04LmpzIiwKKworZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgn
IGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5n
dGggb3ZlcnJpZGRlbiB3aXRoIFtdKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewor
ICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOworICBmdW5jdGlvbiBmb28oKSB7
fQorICB2YXIgZiA9IG5ldyBmb28oKTsKKyAgCisgIGYubGVuZ3RoID0gW107CisgIAorICAvLyBv
YmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBv
YmplY3Q7CisgIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRl
ZmF1bHQgdmFsdWVPZigpIG1ldGhvZAorICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUg
dmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0CisgIC8vIHRvIGEgbnVt
YmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQor
ICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLgorICAvLworICAvLyBUaGUgdG9TdHJp
bmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJp
bmdzLAorICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNl
IHN0cmluZ3MsIHdpdGggY29tbWFzIGluCisgIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8g
ZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gKKyAgLy8gY29udmVy
dHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0
IGlzIGEKKyAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXBy
ZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcworICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4g
aXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsCisgIC8v
IG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0
cyB0byBOYU4uCisKKyAgZnVuY3Rpb24gY2IoKXt9CisgIHRyeSB7CisgICAgaWYoZi5yZWR1Y2Uo
Y2IsMSkgPT09IDEpCisgICAgICByZXR1cm4gdHJ1ZTsKKyAgfQorICBjYXRjaCAoZSkgeyAgfSAg
CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4
aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MjEtNy04LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIwor
TEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS03LTkuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4yMS03LTkuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtNy05LmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDYxICsxLDYxIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0v
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDog
IjE1LjQuNC4yMS03LTkiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUu
NC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNy05LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5yZWR1Y2UgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBh
bmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVy
cmlkZGVuIHdpdGggWzBdKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBm
b28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KLSAgZnVuY3Rpb24gZm9vKCkge30N
Ci0gIHZhciBmID0gbmV3IGZvbygpOw0KLSAgDQotICBmLmxlbmd0aCA9IFswXTsNCi0gIA0KLSAg
Ly8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmpl
Y3Qgb2JqZWN0Ow0KLSAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0
aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQotICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmlt
aXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQotICAvLyB0
byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGlu
ZyB0aGUNCi0gIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQotICAvLw0KLSAgLy8g
VGhlIHRvU3RyaW5nKCApIG1ldGhvZCBvbiBBcnJheSBjb252ZXJ0cyB0aGUgYXJyYXkgZWxlbWVu
dHMgdG8gc3RyaW5ncywNCi0gIC8vIHRoZW4gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVu
YXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMgaW4NCi0gIC8vIGJldHdlZW4uIEFuIGFy
cmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gN
Ci0gIC8vIGNvbnZlcnRzIHRvIHRoZSBudW1iZXIgMC4gSWYgYW4gYXJyYXkgaGFzIGEgc2luZ2xl
IGVsZW1lbnQgdGhhdCBpcyBhDQotICAvLyBudW1iZXIgbiwgdGhlIGFycmF5IGNvbnZlcnRzIHRv
IGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4sIHdoaWNoIGlzDQotICAvLyB0aGVuIGNvbnZl
cnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25l
IGVsZW1lbnQsDQotICAvLyBvciBpZiBpdHMgb25lIGVsZW1lbnQgaXMgbm90IGEgbnVtYmVyLCB0
aGUgYXJyYXkgY29udmVydHMgdG8gTmFOLg0KLQ0KLSAgZnVuY3Rpb24gY2IoKXt9DQotICB0cnkg
ew0KLSAgICBpZihmLnJlZHVjZShjYiwxKSA9PT0gMSkNCi0gICAgICByZXR1cm4gdHJ1ZTsNCi0g
IH0NCi0gIGNhdGNoIChlKSB7ICB9ICANCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsN
Ci0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMjEtNy05IiwKKworcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTku
anMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgcmV0dXJucyBpbml0
aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1
YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggWzBdKSIsCisKK3Rlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgeworICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMp
OworICBmdW5jdGlvbiBmb28oKSB7fQorICB2YXIgZiA9IG5ldyBmb28oKTsKKyAgCisgIGYubGVu
Z3RoID0gWzBdOworICAKKyAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2Yg
bWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0OworICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRo
ZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QKKyAgLy8gZG9lcyBu
b3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhl
IG9iamVjdAorICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhv
ZCBhbmQgY29udmVydGluZyB0aGUKKyAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4K
KyAgLy8KKyAgLy8gVGhlIHRvU3RyaW5nKCApIG1ldGhvZCBvbiBBcnJheSBjb252ZXJ0cyB0aGUg
YXJyYXkgZWxlbWVudHMgdG8gc3RyaW5ncywKKyAgLy8gdGhlbiByZXR1cm5zIHRoZSByZXN1bHQg
b2YgY29uY2F0ZW5hdGluZyB0aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbgorICAvLyBiZXR3
ZWVuLiBBbiBhcnJheSB3aXRoIG5vIGVsZW1lbnRzIGNvbnZlcnRzIHRvIHRoZSBlbXB0eSBzdHJp
bmcsIHdoaWNoCisgIC8vIGNvbnZlcnRzIHRvIHRoZSBudW1iZXIgMC4gSWYgYW4gYXJyYXkgaGFz
IGEgc2luZ2xlIGVsZW1lbnQgdGhhdCBpcyBhCisgIC8vIG51bWJlciBuLCB0aGUgYXJyYXkgY29u
dmVydHMgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2ggaXMKKyAgLy8gdGhl
biBjb252ZXJ0ZWQgYmFjayB0byBuIGl0c2VsZi4gSWYgYW4gYXJyYXkgY29udGFpbnMgbW9yZSB0
aGFuIG9uZSBlbGVtZW50LAorICAvLyBvciBpZiBpdHMgb25lIGVsZW1lbnQgaXMgbm90IGEgbnVt
YmVyLCB0aGUgYXJyYXkgY29udmVydHMgdG8gTmFOLgorCisgIGZ1bmN0aW9uIGNiKCl7fQorICB0
cnkgeworICAgIGlmKGYucmVkdWNlKGNiLDEpID09PSAxKQorICAgICAgcmV0dXJuIHRydWU7Cisg
IH0KKyAgY2F0Y2ggKGUpIHsgIH0gIAorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CisgfQor
fSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTctOS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMjEtOC1jLTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS04LWMtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQor
KysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4y
MS04LWMtMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0OCArMSw0OCBAQAotLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQot
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjEtOC1jLTEiLA0KLQ0KLXBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtOC1j
LTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3Mg
VHlwZUVycm9yIHdoZW4gQXJyYXkgaXMgZW1wdHkgYW5kIGluaXRpYWxWYWx1ZSBpcyBub3QgcHJl
c2VudCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KLSANCi0gIGZ1bmN0aW9u
IGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCi0gIHsNCi0gIH0NCi0NCi0g
IHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KLSAgdHJ5IHsNCi0gICAgYXJyLnJlZHVjZShjYWxs
YmFja2ZuKTsNCi0gIH0gDQotICBjYXRjaChlKSB7DQotICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBl
RXJyb3IpDQotICAgICAgcmV0dXJuIHRydWU7ICANCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUucmVkdWNlKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMjEtOC1j
LTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEv
MTUuNC40LjIxLTgtYy0xLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVk
dWNlIHRocm93cyBUeXBlRXJyb3Igd2hlbiBBcnJheSBpcyBlbXB0eSBhbmQgaW5pdGlhbFZhbHVl
IGlzIG5vdCBwcmVzZW50IiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAorIAorICBm
dW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopCisgIHsKKyAgfQor
CisgIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOworICB0cnkgeworICAgIGFyci5yZWR1Y2UoY2Fs
bGJhY2tmbik7CisgIH0gCisgIGNhdGNoKGUpIHsKKyAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVy
cm9yKQorICAgICAgcmV0dXJuIHRydWU7ICAKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVj
ZSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTgtYy0xLmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4yMS04LWMtMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTgtYy0yLmpzCShyZXZpc2lv
biAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjIxLTgtYy0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUwICsxLDUwIEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMS04LWMtMiIs
DQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1
LjQuNC4yMS04LWMtMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVk
dWNlIHRocm93cyBUeXBlRXJyb3Igd2hlbiBlbGVtZW50cyBhc3NpZ25lZCB2YWx1ZXMgYXJlIGRl
bGV0ZWQgYnkgcmVkdWNpbmcgYXJyYXkgbGVuZ3RoIGFuZCBpbml0aWFsVmFsdWUgaXMgbm90IHBy
ZXNlbnQiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCi0gDQotICBmdW5jdGlv
biBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQotICB7DQotICB9DQotDQot
ICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCi0gIGFycls5XSA9IDE7DQotICBhcnIubGVuZ3Ro
ID0gNTsNCi0gIHRyeSB7DQotICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQotICB9IA0KLSAg
Y2F0Y2goZSkgew0KLSAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KLSAgICAgIHJldHVy
biB0cnVlOyAgDQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7DQotIH0NCi19
KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAK
Ky8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjIxLTgtYy0yIiwKKworcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtMi5qcyIs
CisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9y
IHdoZW4gZWxlbWVudHMgYXNzaWduZWQgdmFsdWVzIGFyZSBkZWxldGVkIGJ5IHJlZHVjaW5nIGFy
cmF5IGxlbmd0aCBhbmQgaW5pdGlhbFZhbHVlIGlzIG5vdCBwcmVzZW50IiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7IAorIAorICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1
clZhbCwgaWR4LCBvYmopCisgIHsKKyAgfQorCisgIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOwor
ICBhcnJbOV0gPSAxOworICBhcnIubGVuZ3RoID0gNTsKKyAgdHJ5IHsKKyAgICBhcnIucmVkdWNl
KGNhbGxiYWNrZm4pOworICB9IAorICBjYXRjaChlKSB7CisgICAgaWYoZSBpbnN0YW5jZW9mIFR5
cGVFcnJvcikKKyAgICAgIHJldHVybiB0cnVlOyAgCisgIH0KKyB9LAorCitwcmVjb25kaXRpb246
IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5y
ZWR1Y2UpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS04LWMtMi5qcwpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMjEtOC1jLTMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS04LWMtMy5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4yMS04LWMtMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1MyArMSw1MyBA
QAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0K
LS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjEtOC1j
LTMiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4y
MS8xNS40LjQuMjEtOC1jLTMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBl
LnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gZWxlbWVudHMgYXNzaWduZWQgdmFsdWVzIGFy
ZSBkZWxldGVkIGFuZCBpbml0aWFsVmFsdWUgaXMgbm90IHByZXNlbnQiLA0KLQ0KLXRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgeyANCi0gDQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWws
IGN1clZhbCwgaWR4LCBvYmopDQotICB7DQotICB9DQotDQotICB2YXIgYXJyID0gWzEsMiwzLDQs
NV07DQotICBkZWxldGUgYXJyWzBdOw0KLSAgZGVsZXRlIGFyclsxXTsNCi0gIGRlbGV0ZSBhcnJb
Ml07DQotICBkZWxldGUgYXJyWzNdOw0KLSAgZGVsZXRlIGFycls0XTsNCi0gIHRyeSB7DQotICAg
IGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQotICB9IA0KLSAgY2F0Y2goZSkgew0KLSAgICBpZihl
IGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KLSAgICAgIHJldHVybiB0cnVlOyAgDQotICB9DQotIH0s
DQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTUuNC40LjIxLTgtYy0zIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtMy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gZWxlbWVudHMgYXNzaWdu
ZWQgdmFsdWVzIGFyZSBkZWxldGVkIGFuZCBpbml0aWFsVmFsdWUgaXMgbm90IHByZXNlbnQiLAor
Cit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCisgCisgIGZ1bmN0aW9uIGNhbGxiYWNrZm4o
cHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikKKyAgeworICB9CisKKyAgdmFyIGFyciA9IFsxLDIs
Myw0LDVdOworICBkZWxldGUgYXJyWzBdOworICBkZWxldGUgYXJyWzFdOworICBkZWxldGUgYXJy
WzJdOworICBkZWxldGUgYXJyWzNdOworICBkZWxldGUgYXJyWzRdOworICB0cnkgeworICAgIGFy
ci5yZWR1Y2UoY2FsbGJhY2tmbik7CisgIH0gCisgIGNhdGNoKGUpIHsKKyAgICBpZihlIGluc3Rh
bmNlb2YgVHlwZUVycm9yKQorICAgICAgcmV0dXJuIHRydWU7ICAKKyAgfQorIH0sCisKK3ByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJv
dG90eXBlLnJlZHVjZSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTgtYy0zLmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS05LTEuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS05LTEuanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMjEtOS0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ4ICsxLDQ4
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMS05
LTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4y
MS8xNS40LjQuMjEtOS0xLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5y
ZWR1Y2UgZG9lc24ndCBjb25zaWRlciBuZXcgZWxlbWVudHMgYWRkZWQgYmV5b25kIHRoZSBpbml0
aWFsIGxlbmd0aCBvZiBhcnJheSBhZnRlciBpdCBpcyBjYWxsZWQiLA0KLQ0KLXRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgeyANCi0gDQotICB2YXIgbGFzdEluZGV4VmlzaXRlZD0tMTsgDQotIA0K
LSAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2YWwsIHZhbCwgaWR4LCBvYmopDQotICB7DQotICAg
IGlmIChpZHg9PT0wKSBvYmpbMTBdID0gMTA7DQotICAgIGxhc3RJbmRleFZpc2l0ZWQ9aWR4Ow0K
LSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gIA0KLSAgWzAsMV0ucmVkdWNlKGNhbGxiYWNrZm4p
Ow0KLSAgcmV0dXJuIGxhc3RJbmRleFZpc2l0ZWQgPT09IDE7ICANCi0gIA0KLSB9LA0KLQ0KLXBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5
LnByb3RvdHlwZS5yZWR1Y2UpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisv
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQu
NC4yMS05LTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40
LjQuMjEvMTUuNC40LjIxLTktMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBl
LnJlZHVjZSBkb2Vzbid0IGNvbnNpZGVyIG5ldyBlbGVtZW50cyBhZGRlZCBiZXlvbmQgdGhlIGlu
aXRpYWwgbGVuZ3RoIG9mIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZCIsCisKK3Rlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgeyAKKyAKKyAgdmFyIGxhc3RJbmRleFZpc2l0ZWQ9LTE7IAorIAorICBm
dW5jdGlvbiBjYWxsYmFja2ZuKHByZXZhbCwgdmFsLCBpZHgsIG9iaikKKyAgeworICAgIGlmIChp
ZHg9PT0wKSBvYmpbMTBdID0gMTA7CisgICAgbGFzdEluZGV4VmlzaXRlZD1pZHg7CisgICAgcmV0
dXJuIHRydWU7CisgIH0KKyAgCisgIFswLDFdLnJlZHVjZShjYWxsYmFja2ZuKTsKKyAgcmV0dXJu
IGxhc3RJbmRleFZpc2l0ZWQgPT09IDE7ICAKKyAgCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNl
KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtOS0xLmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4yMS05LTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS05LTIuanMJKHJldmlzaW9uIDE5OTU0
OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMjEtOS0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ3ICsxLDQ3IEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMS05LTIiLA0KLQ0KLXBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtOS0y
LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgY29uc2lkZXJz
IG5ldyB2YWx1ZSBvZiBlbGVtZW50cyBpbiBhcnJheSBhZnRlciBpdCBpcyBjYWxsZWQiLA0KLQ0K
LXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCi0gDQotICBmdW5jdGlvbiBjYWxsYmFja2Zu
KHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQotICB7DQotICAgIGFyclszXSA9IC0yOw0KLSAg
ICBhcnJbNF0gPSAtMTsNCi0gICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQotICB9DQotDQot
ICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQotICBpZihhcnIucmVkdWNlKGNhbGxiYWNrZm4pID09
PSAzKQ0KLSAgICByZXR1cm4gdHJ1ZTsgIA0KLSAgDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJl
ZHVjZSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8v
LyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjIxLTktMiIsCisK
K3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQu
MjEtOS0yLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIGNvbnNp
ZGVycyBuZXcgdmFsdWUgb2YgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgaXQgaXMgY2FsbGVkIiwK
KwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAorIAorICBmdW5jdGlvbiBjYWxsYmFja2Zu
KHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopCisgIHsKKyAgICBhcnJbM10gPSAtMjsKKyAgICBh
cnJbNF0gPSAtMTsKKyAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsKKyAgfQorCisgIHZhciBh
cnIgPSBbMSwyLDMsNCw1XTsKKyAgaWYoYXJyLnJlZHVjZShjYWxsYmFja2ZuKSA9PT0gMykKKyAg
ICByZXR1cm4gdHJ1ZTsgIAorICAKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOworIH0KK30p
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4yMS05LTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1z
dHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjIxLTktMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTktMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS05LTMu
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDcgKzEsNDcgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQot
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIxLTktMyIsDQotDQotcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTMuanMiLA0KLQ0K
LWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSBkb2Vzbid0IHZpc2l0IGRlbGV0
ZWQgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgdGhlIGNhbGwiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeyANCi0gDQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZh
bCwgaWR4LCBvYmopICANCi0gIHsNCi0gICAgZGVsZXRlIGFyclszXTsNCi0gICAgZGVsZXRlIGFy
cls0XTsNCi0gICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7ICAgIA0KLSAgfQ0KLQ0KLSAgdmFy
IGFyciA9IFsnMScsMiwzLDQsNV07DQotICBpZihhcnIucmVkdWNlKGNhbGxiYWNrZm4pID09PSAi
MTIzIiAgKSAgICAvLyB0d28gZWxlbWVudHMgZGVsZXRlZA0KLSAgICByZXR1cm4gdHJ1ZTsgIA0K
LSAgDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1
cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7DQotIH0NCi19KTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKK2lkOiAiMTUuNC40LjIxLTktMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtOS0zLmpzIiwKKworZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIGRvZXNuJ3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyBp
biBhcnJheSBhZnRlciB0aGUgY2FsbCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAK
KyAKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSAgCisg
IHsKKyAgICBkZWxldGUgYXJyWzNdOworICAgIGRlbGV0ZSBhcnJbNF07CisgICAgcmV0dXJuIHBy
ZXZWYWwgKyBjdXJWYWw7ICAgIAorICB9CisKKyAgdmFyIGFyciA9IFsnMScsMiwzLDQsNV07Cisg
IGlmKGFyci5yZWR1Y2UoY2FsbGJhY2tmbikgPT09ICIxMjMiICApICAgIC8vIHR3byBlbGVtZW50
cyBkZWxldGVkCisgICAgcmV0dXJuIHRydWU7ICAKKyAgCisgfSwKKworcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVk
dWNlKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtOS0zLmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4yMS05LTQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS05LTQuanMJKHJldmlzaW9uIDE5
OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMjEtOS00LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ2ICsxLDQ2IEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQot
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMS05LTQiLA0KLQ0KLXBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEt
OS00LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgZG9lc24n
dCB2aXNpdCBkZWxldGVkIGVsZW1lbnRzIHdoZW4gQXJyYXkubGVuZ3RoIGlzIGRlY3JlYXNlZCIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KLSANCi0gIGZ1bmN0aW9uIGNhbGxi
YWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCi0gIHsNCi0gICAgYXJyLmxlbmd0aCA9
IDI7DQotICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOw0KLSAgfQ0KLQ0KLSAgdmFyIGFyciA9
IFsxLDIsMyw0LDVdOw0KLSAgaWYoYXJyLnJlZHVjZShjYWxsYmFja2ZuKSA9PT0gMyApDQotICAg
IHJldHVybiB0cnVlOyAgDQotICANCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsNCi0g
fQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAor
Ly8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQK
Ky8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgor
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMjEtOS00IiwKKworcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTQuanMi
LAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgZG9lc24ndCB2aXNpdCBk
ZWxldGVkIGVsZW1lbnRzIHdoZW4gQXJyYXkubGVuZ3RoIGlzIGRlY3JlYXNlZCIsCisKK3Rlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAKKyAKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFs
LCBjdXJWYWwsIGlkeCwgb2JqKQorICB7CisgICAgYXJyLmxlbmd0aCA9IDI7CisgICAgcmV0dXJu
IHByZXZWYWwgKyBjdXJWYWw7CisgIH0KKworICB2YXIgYXJyID0gWzEsMiwzLDQsNV07CisgIGlm
KGFyci5yZWR1Y2UoY2FsbGJhY2tmbikgPT09IDMgKQorICAgIHJldHVybiB0cnVlOyAgCisgIAor
IH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIx
LTktNC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xG
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtOS01LmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MjEtOS01LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTktNS5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSw0NiArMSw0NiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIx
NS40LjQuMjEtOS01IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQu
NC8xNS40LjQuMjEvMTUuNC40LjIxLTktNS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUucmVkdWNlIC0gY2FsbGJhY2tmbiBub3QgY2FsbGVkIGZvciBhcnJheSB3aXRoIG9u
ZSBlbGVtZW50IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQotIA0KLSAgdmFy
IGNhbGxDbnQgPSAwOw0KLSAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlk
eCwgb2JqKQ0KLSAgew0KLSAgICBjYWxsQ250Kys7DQotICAgIHJldHVybiAyOw0KLSAgfQ0KLQ0K
LSAgdmFyIGFyciA9IFsxXTsNCi0gIGlmKGFyci5yZWR1Y2UoY2FsbGJhY2tmbikgPT09IDEgJiYg
Y2FsbENudCA9PT0gMCApDQotICAgIHJldHVybiB0cnVlOyAgICANCi0gfSwNCi0NCi1wcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90
b3R5cGUucmVkdWNlKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMjEt
OS01IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIx
LzE1LjQuNC4yMS05LTUuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1
Y2UgLSBjYWxsYmFja2ZuIG5vdCBjYWxsZWQgZm9yIGFycmF5IHdpdGggb25lIGVsZW1lbnQiLAor
Cit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCisgCisgIHZhciBjYWxsQ250ID0gMDsKKyAg
ZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQorICB7CisgICAg
Y2FsbENudCsrOworICAgIHJldHVybiAyOworICB9CisKKyAgdmFyIGFyciA9IFsxXTsKKyAgaWYo
YXJyLnJlZHVjZShjYWxsYmFja2ZuKSA9PT0gMSAmJiBjYWxsQ250ID09PSAwICkKKyAgICByZXR1
cm4gdHJ1ZTsgICAgCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7Cisg
IHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKKyB9Cit9KTsKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMjEtOS01LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMg
LTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS05LTYu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4yMS05LTYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtOS02LmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDUxICsxLDUxIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQot
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsNCi1pZDogIjE1LjQuNC4yMS05LTYiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtOS02LmpzIiwNCi0NCi1kZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdmlzaXRzIGRlbGV0ZWQgZWxlbWVudCBpbiBh
cnJheSBhZnRlciB0aGUgY2FsbCB3aGVuIHNhbWUgaW5kZXggaXMgYWxzbyBwcmVzZW50IGluIHBy
b3RvdHlwZSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KLSANCi0gIGZ1bmN0
aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgIA0KLSAgew0KLSAgICBk
ZWxldGUgYXJyWzNdOw0KLSAgICBkZWxldGUgYXJyWzRdOw0KLSAgICByZXR1cm4gcHJldlZhbCAr
IGN1clZhbDsgICAgDQotICB9DQotDQotICBBcnJheS5wcm90b3R5cGVbNF0gPSA1Ow0KLSAgdmFy
IGFyciA9IFsnMScsMiwzLDQsNV07DQotICB2YXIgcmVzID0gYXJyLnJlZHVjZShjYWxsYmFja2Zu
KTsNCi0gIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbNF07DQotDQotICBpZihyZXMgPT09ICIxMjM1
IiAgKSAgICAvL29uZSBlbGVtZW50IGFjdWFsbHkgZGVsZXRlZA0KLSAgICByZXR1cm4gdHJ1ZTsg
IA0KLSAgDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICBy
ZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7DQotIH0NCi19KTsNCisvLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsKK2lkOiAiMTUuNC40LjIxLTktNiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtOS02LmpzIiwKKworZGVzY3JpcHRp
b246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIHZpc2l0cyBkZWxldGVkIGVsZW1lbnQgaW4gYXJy
YXkgYWZ0ZXIgdGhlIGNhbGwgd2hlbiBzYW1lIGluZGV4IGlzIGFsc28gcHJlc2VudCBpbiBwcm90
b3R5cGUiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCisgCisgIGZ1bmN0aW9uIGNh
bGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgIAorICB7CisgICAgZGVsZXRlIGFy
clszXTsKKyAgICBkZWxldGUgYXJyWzRdOworICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOyAg
ICAKKyAgfQorCisgIEFycmF5LnByb3RvdHlwZVs0XSA9IDU7CisgIHZhciBhcnIgPSBbJzEnLDIs
Myw0LDVdOworICB2YXIgcmVzID0gYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsKKyAgZGVsZXRlIEFy
cmF5LnByb3RvdHlwZVs0XTsKKworICBpZihyZXMgPT09ICIxMjM1IiAgKSAgICAvL29uZSBlbGVt
ZW50IGFjdWFsbHkgZGVsZXRlZAorICAgIHJldHVybiB0cnVlOyAgCisgIAorIH0sCisKK3ByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJv
dG90eXBlLnJlZHVjZSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTktNi5qcwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtOS1iLTEuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS05LWItMS5q
cwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4yMS05LWItMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NSAr
MSw0NSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQot
Ly8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
DQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8N
Ci0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8v
IA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQu
MjEtOS1iLTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1
LjQuNC4yMS8xNS40LjQuMjEtOS1iLTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJv
dG90eXBlLnJlZHVjZSByZXR1cm5zIGluaXRpYWx2YWx1ZSB3aGVuIEFycmF5IGlzIGVtcHR5IGFu
ZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7IA0KLSANCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9i
aikNCi0gIHsNCi0gIH0NCi0NCi0gIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KLQ0KLSAgaWYo
YXJyLnJlZHVjZShjYWxsYmFja2ZuLDUpID09PSA1KQ0KLSAgICAgIHJldHVybiB0cnVlOyAgDQot
DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4g
Zm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTUuNC40LjIxLTktYi0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMS5qcyIsCisKK2Rlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSByZXR1cm5zIGluaXRpYWx2YWx1ZSB3aGVuIEFycmF5
IGlzIGVtcHR5IGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCIsCisKK3Rlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeyAKKyAKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWws
IGlkeCwgb2JqKQorICB7CisgIH0KKworICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsKKworICBp
ZihhcnIucmVkdWNlKGNhbGxiYWNrZm4sNSkgPT09IDUpCisgICAgICByZXR1cm4gdHJ1ZTsgIAor
CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4
aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MjEtOS1iLTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTktYy0xLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMjEtOS1jLTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtOS1jLTEuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNDcgKzEsNDcgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
Uw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0K
LS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
ew0KLWlkOiAiMTUuNC40LjIxLTktYy0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy0xLmpzIiwNCi0NCi1kZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIG5vdCBjYWxsZWQgZm9y
IGluZGV4ZXMgbmV2ZXIgYmVlbiBhc3NpZ25lZCB2YWx1ZXMiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgeyANCi0gDQotICB2YXIgY2FsbENudCA9IDA7DQotICBmdW5jdGlvbiBjYWxs
YmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQotICB7DQotICAgIGNhbGxDbnQrKzsN
Ci0gICAgcmV0dXJuIGN1clZhbDsNCi0gIH0NCi0NCi0gIHZhciBhcnIgPSBuZXcgQXJyYXkoMTAp
Ow0KLSAgYXJyWzBdID0gYXJyWzFdID0gdW5kZWZpbmVkOyAvL2V4cGxpY2l0bHkgYXNzaWduaW5n
IGEgdmFsdWUNCi0gIGlmKCBhcnIucmVkdWNlKGNhbGxiYWNrZm4pID09PSB1bmRlZmluZWQgJiYg
Y2FsbENudCA9PT0gMSkNCi0gICAgcmV0dXJuIHRydWU7ICAgIA0KLSB9LA0KLQ0KLXByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3Rv
dHlwZS5yZWR1Y2UpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4yMS05
LWMtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4y
MS8xNS40LjQuMjEtOS1jLTEuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5y
ZWR1Y2UgLSBjYWxsYmFja2ZuIG5vdCBjYWxsZWQgZm9yIGluZGV4ZXMgbmV2ZXIgYmVlbiBhc3Np
Z25lZCB2YWx1ZXMiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCisgCisgIHZhciBj
YWxsQ250ID0gMDsKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwg
b2JqKQorICB7CisgICAgY2FsbENudCsrOworICAgIHJldHVybiBjdXJWYWw7CisgIH0KKworICB2
YXIgYXJyID0gbmV3IEFycmF5KDEwKTsKKyAgYXJyWzBdID0gYXJyWzFdID0gdW5kZWZpbmVkOyAv
L2V4cGxpY2l0bHkgYXNzaWduaW5nIGEgdmFsdWUKKyAgaWYoIGFyci5yZWR1Y2UoY2FsbGJhY2tm
bikgPT09IHVuZGVmaW5lZCAmJiBjYWxsQ250ID09PSAxKQorICAgIHJldHVybiB0cnVlOyAgICAK
KyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhp
c3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4y
MS05LWMtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMK
K0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtOS1jLWlpLTEuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4yMS05LWMtaWktMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS05LWMtaWktMS5qcwko
d29ya2luZyBjb3B5KQpAQCAtMSw0NyArMSw0NyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjEtOS1jLWlpLTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtOS1jLWlpLTEuanMi
LA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGNhbGxiYWNrZm4g
Y2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzIChpbml0aWFsdmFsdWUgbm90IHBhc3NlZCki
LA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCi0gDQotICBmdW5jdGlvbiBjYWxs
YmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQotICB7DQotICAgIGlmKGlkeCA+IDAg
JiYgb2JqW2lkeF0gPT09IGN1clZhbCAmJiBvYmpbaWR4LTFdID09PSBwcmV2VmFsKQ0KLSAgICAg
IHJldHVybiBjdXJWYWw7DQotICAgIGVsc2UgDQotICAgICAgcmV0dXJuIGZhbHNlOw0KLSAgfQ0K
LQ0KLSAgdmFyIGFyciA9IFswLDEsdHJ1ZSxudWxsLG5ldyBPYmplY3QoKSwiZml2ZSJdOw0KLSAg
aWYoIGFyci5yZWR1Y2UoY2FsbGJhY2tmbikgPT09ICJmaXZlIikgDQotICAgIHJldHVybiB0cnVl
Ow0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJu
IGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOw0KLSB9DQotfSk7DQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7CitpZDogIjE1LjQuNC4yMS05LWMtaWktMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtOS1jLWlpLTEuanMiLAorCitkZXNj
cmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRo
IGNvcnJlY3QgcGFyYW1ldGVycyAoaW5pdGlhbHZhbHVlIG5vdCBwYXNzZWQpIiwKKwordGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAorIAorICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWws
IGN1clZhbCwgaWR4LCBvYmopCisgIHsKKyAgICBpZihpZHggPiAwICYmIG9ialtpZHhdID09PSBj
dXJWYWwgJiYgb2JqW2lkeC0xXSA9PT0gcHJldlZhbCkKKyAgICAgIHJldHVybiBjdXJWYWw7Cisg
ICAgZWxzZSAKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgfQorCisgIHZhciBhcnIgPSBbMCwxLHRy
dWUsbnVsbCxuZXcgT2JqZWN0KCksImZpdmUiXTsKKyAgaWYoIGFyci5yZWR1Y2UoY2FsbGJhY2tm
bikgPT09ICJmaXZlIikgCisgICAgcmV0dXJuIHRydWU7CisgfSwKKworcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVk
dWNlKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtOS1jLWlpLTEuanMKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjIxLTktYy1paS0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtOS1jLWlpLTIu
anMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtOS1jLWlpLTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
NTEgKzEsNTEgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUu
NC40LjIxLTktYy1paS0yIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1
LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0yLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjog
IkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3Qg
cGFyYW1ldGVycyAoaW5pdGlhbHZhbHVlIHBhc3NlZCkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRl
c3RjYXNlKCkgeyANCi0gDQotICB2YXIgYlBhckNvcnJlY3QgPSBmYWxzZTsNCi0gIGZ1bmN0aW9u
IGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCi0gIHsNCi0gICAgaWYoaWR4
ID09PSAwICYmIG9ialtpZHhdID09PSBjdXJWYWwgJiYgcHJldlZhbCA9PT0gaW5pdGlhbFZhbHVl
KQ0KLSAgICAgIHJldHVybiBjdXJWYWw7DQotICAgIGVsc2UgaWYoaWR4ID4gMCAmJiBvYmpbaWR4
XSA9PT0gY3VyVmFsICYmIG9ialtpZHgtMV0gPT09IHByZXZWYWwpDQotICAgICAgcmV0dXJuIGN1
clZhbDsNCi0gICAgZWxzZQ0KLSAgICAgIHJldHVybiBmYWxzZTsNCi0gIH0NCi0NCi0gIHZhciBh
cnIgPSBbMCwxLHRydWUsbnVsbCxuZXcgT2JqZWN0KCksImZpdmUiXTsNCi0gIHZhciBpbml0aWFs
VmFsdWUgPSA1LjU7DQotICBpZiggYXJyLnJlZHVjZShjYWxsYmFja2ZuLGluaXRpYWxWYWx1ZSkg
PT09ICJmaXZlIikgDQotICAgIHJldHVybiB0cnVlOw0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5y
ZWR1Y2UpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisv
Ly8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4yMS05LWMtaWkt
MiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8x
NS40LjQuMjEtOS1jLWlpLTIuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5y
ZWR1Y2UgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAoaW5pdGlh
bHZhbHVlIHBhc3NlZCkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCisgCisgIHZh
ciBiUGFyQ29ycmVjdCA9IGZhbHNlOworICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1
clZhbCwgaWR4LCBvYmopCisgIHsKKyAgICBpZihpZHggPT09IDAgJiYgb2JqW2lkeF0gPT09IGN1
clZhbCAmJiBwcmV2VmFsID09PSBpbml0aWFsVmFsdWUpCisgICAgICByZXR1cm4gY3VyVmFsOwor
ICAgIGVsc2UgaWYoaWR4ID4gMCAmJiBvYmpbaWR4XSA9PT0gY3VyVmFsICYmIG9ialtpZHgtMV0g
PT09IHByZXZWYWwpCisgICAgICByZXR1cm4gY3VyVmFsOworICAgIGVsc2UKKyAgICAgIHJldHVy
biBmYWxzZTsKKyAgfQorCisgIHZhciBhcnIgPSBbMCwxLHRydWUsbnVsbCxuZXcgT2JqZWN0KCks
ImZpdmUiXTsKKyAgdmFyIGluaXRpYWxWYWx1ZSA9IDUuNTsKKyAgaWYoIGFyci5yZWR1Y2UoY2Fs
bGJhY2tmbixpbml0aWFsVmFsdWUpID09PSAiZml2ZSIpIAorICAgIHJldHVybiB0cnVlOworIH0s
CisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMo
QXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTkt
Yy1paS0yLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIwor
TEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS05LWMtaWktMy5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjIxLTktYy1paS0zLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIxLTktYy1paS0zLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDQ4ICsxLDQ4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
DQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMS05LWMtaWktMyIsDQotDQotcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMy5qcyIs
DQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gY2FsbGJhY2tmbiB0
YWtlcyA0IGFyZ3VtZW50cyIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KLSAN
Ci0gIHZhciBiQ2FsbGVkID0gZmFsc2U7DQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWws
IGN1clZhbCwgaWR4LCBvYmopDQotICB7IA0KLSAgICBiQ2FsbGVkID0gdHJ1ZTsNCi0gICAgaWYo
cHJldlZhbCA9PT0gdHJ1ZSAmJiBhcmd1bWVudHMubGVuZ3RoID09PSA0KSAgIA0KLSAgICAgIHJl
dHVybiB0cnVlOw0KLSAgICBlbHNlDQotICAgICAgcmV0dXJuIGZhbHNlOw0KLSAgfQ0KLSAgdmFy
IGFyciA9IFswLDEsMiwzLDQsNSw2LDcsOCw5XTsNCi0gIGlmKGFyci5yZWR1Y2UoY2FsbGJhY2tm
bix0cnVlKSA9PT0gdHJ1ZSAmJiBiQ2FsbGVkID09PSB0cnVlKQ0KLSAgICByZXR1cm4gdHJ1ZTsN
Ci0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
eworaWQ6ICIxNS40LjQuMjEtOS1jLWlpLTMiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0zLmpzIiwKKworZGVzY3Jp
cHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gY2FsbGJhY2tmbiB0YWtlcyA0IGFyZ3Vt
ZW50cyIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAKKyAKKyAgdmFyIGJDYWxsZWQg
PSBmYWxzZTsKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2Jq
KQorICB7IAorICAgIGJDYWxsZWQgPSB0cnVlOworICAgIGlmKHByZXZWYWwgPT09IHRydWUgJiYg
YXJndW1lbnRzLmxlbmd0aCA9PT0gNCkgICAKKyAgICAgIHJldHVybiB0cnVlOworICAgIGVsc2UK
KyAgICAgIHJldHVybiBmYWxzZTsKKyAgfQorICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4
LDldOworICBpZihhcnIucmVkdWNlKGNhbGxiYWNrZm4sdHJ1ZSkgPT09IHRydWUgJiYgYkNhbGxl
ZCA9PT0gdHJ1ZSkKKyAgICByZXR1cm4gdHJ1ZTsKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2Up
OworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS05LWMtaWktMy5qcwpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMjEtOS1jLWlpLTQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMS05LWMtaWktNC5qcwko
cmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4yMS05LWMtaWktNC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MyAr
MSw0MyBAQAotLy8vIENvcHlyaWdodCAoYykgMjAxMCBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQot
Ly8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
DQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8N
Ci0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8v
IA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQu
MjEtOS1jLWlpLTQiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40
LzE1LjQuNC4yMS8xNS40LjQuMjEtOS1jLWlpLTQuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLnJlZHVjZSAtIG51bGwgcGFzc2VkIGFzIHRoaXMgVmFsdWUgdG8gY2FsbGJh
Y2tmbiIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KLSAgdmFyIGlubmVyVGhp
c0NvcnJlY3QgPSBmYWxzZTsNCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFs
LCBpZHgsIG9iaikNCi0gIHsgDQotICAgICBpbm5lclRoaXNDb3JyZWN0ID0gdGhpcz09PWZuR2xv
YmFsT2JqZWN0KCk7DQotICAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gIFswXS5yZWR1Y2UoY2Fs
bGJhY2tmbix0cnVlKTsNCi0gIHJldHVybiBpbm5lclRoaXNDb3JyZWN0OyAgICANCi0gfSwNCi0N
Ci1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhB
cnJheS5wcm90b3R5cGUucmVkdWNlKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIw
MTAgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisv
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIx
NS40LjQuMjEtOS1jLWlpLTQiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1
LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS00LmpzIiwKKworZGVzY3JpcHRpb246ICJB
cnJheS5wcm90b3R5cGUucmVkdWNlIC0gbnVsbCBwYXNzZWQgYXMgdGhpcyBWYWx1ZSB0byBjYWxs
YmFja2ZuIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAorICB2YXIgaW5uZXJUaGlz
Q29ycmVjdCA9IGZhbHNlOworICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwg
aWR4LCBvYmopCisgIHsgCisgICAgIGlubmVyVGhpc0NvcnJlY3QgPSB0aGlzPT09Zm5HbG9iYWxP
YmplY3QoKTsKKyAgICAgcmV0dXJuIHRydWU7CisgIH0KKyAgWzBdLnJlZHVjZShjYWxsYmFja2Zu
LHRydWUpOworICByZXR1cm4gaW5uZXJUaGlzQ29ycmVjdDsgICAgCisgfSwKKworcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUucmVkdWNlKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjEtOS1jLWlpLTQuanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTAtMS5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTAtMS5qcwko
cmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4yMi0wLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzYgKzEsMzYg
QEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyAN
Ci0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0v
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiANCi0NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIy
LTAtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40
LjIyLzE1LjQuNC4yMi0wLTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBl
LnJlZHVjZVJpZ2h0IG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiIsDQotDQotdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7DQotICB2YXIgZiA9IEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodDsN
Ci0gIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCi0gICAgcmV0dXJuIHRydWU7DQot
ICB9DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8K
Ky8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAK
Ky8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisK
KworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMjItMC0xIiwKKwor
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4y
Mi0wLTEuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBt
dXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24iLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsK
KyAgdmFyIGYgPSBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQ7CisgIGlmICh0eXBlb2YoZikg
PT09ICJmdW5jdGlvbiIpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0KK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4yMi0wLTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTAtMi5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjIyLTAtMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi0wLTIuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsMzkgKzEsMzkgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggew0KLWlkOiAiMTUuNC40LjIyLTAtMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0wLTIuanMiLA0KLQ0KLWRlc2Ny
aXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0Lmxlbmd0aCBtdXN0IGJlIDEiLA0K
LQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgaWYgKEFycmF5LnByb3RvdHlwZS5y
ZWR1Y2VSaWdodC5sZW5ndGggPT09IDEpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0s
DQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7CitpZDogIjE1LjQuNC4yMi0wLTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTAtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAi
QXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0Lmxlbmd0aCBtdXN0IGJlIDEiLAorCit0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgaWYgKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5s
ZW5ndGggPT09IDEpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
LnJlZHVjZVJpZ2h0KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItMC0yLmpzCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi0xMC0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItMTAtMS5qcwko
cmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4yMi0xMC0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUxICsxLDUx
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMi0x
MC0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQu
MjIvMTUuNC40LjIyLTEwLTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBl
LnJlZHVjZVJpZ2h0IGRvZXNuJ3QgbXV0YXRlIHRoZSBBcnJheSBvbiB3aGljaCBpdCBpcyBjYWxs
ZWQgb24iLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgZnVuY3Rpb24g
Y2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsICBpZHgsIG9iaikNCi0gIHsNCi0gICAgcmV0dXJu
IDE7DQotICB9DQotICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQotICBzcmNBcnIucmVkdWNl
UmlnaHQoY2FsbGJhY2tmbik7DQotICBpZihzcmNBcnJbMF0gPT09IDEgJiYNCi0gICAgIHNyY0Fy
clsxXSA9PT0gMiAmJg0KLSAgICAgc3JjQXJyWzJdID09PSAzICYmDQotICAgICBzcmNBcnJbM10g
PT09IDQgJiYNCi0gICAgIHNyY0Fycls0XSA9PT0gNSkNCi0gIHsNCi0gICAgcmV0dXJuIHRydWU7
DQotICB9DQotDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQot
ICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0KTsNCi0gfQ0KLX0p
Ow0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAor
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisv
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMjItMTAtMSIsCisKK3BhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMi8xNS40LjQuMjItMTAtMS5qcyIsCisK
K2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGRvZXNuJ3QgbXV0YXRl
IHRoZSBBcnJheSBvbiB3aGljaCBpdCBpcyBjYWxsZWQgb24iLAorCit0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsKKworICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgIGlk
eCwgb2JqKQorICB7CisgICAgcmV0dXJuIDE7CisgIH0KKyAgdmFyIHNyY0FyciA9IFsxLDIsMyw0
LDVdOworICBzcmNBcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7CisgIGlmKHNyY0FyclswXSA9
PT0gMSAmJgorICAgICBzcmNBcnJbMV0gPT09IDIgJiYKKyAgICAgc3JjQXJyWzJdID09PSAzICYm
CisgICAgIHNyY0FyclszXSA9PT0gNCAmJgorICAgICBzcmNBcnJbNF0gPT09IDUpCisgIHsKKyAg
ICByZXR1cm4gdHJ1ZTsKKyAgfQorCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQpOwor
IH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi0xMC0xLmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4yMi0xMC0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItMTAtMi5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4yMi0xMC0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ2ICsxLDQ2IEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMi0xMC0yIiwNCi0NCi1wYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEw
LTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHJl
ZHVjZXMgYXJyYXkgaW4gZGVzY2VuZGluZyBvcmRlciBvZiBpbmRpY2VzIiwNCi0NCi10ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwg
Y3VyVmFsLCAgaWR4LCBvYmopDQotICB7DQotICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOw0K
LSAgfQ0KLSAgdmFyIHNyY0FyciA9IFsnMScsJzInLCczJywnNCcsJzUnXTsNCi0gIGlmKHNyY0Fy
ci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKSA9PT0gJzU0MzIxJykNCi0gIHsNCi0gICAgcmV0dXJu
IHRydWU7DQotICB9DQotDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0KTsNCi0g
fQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAor
Ly8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQK
Ky8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgor
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMjItMTAtMiIsCisKK3BhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMi8xNS40LjQuMjItMTAtMi5q
cyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHJlZHVjZXMg
YXJyYXkgaW4gZGVzY2VuZGluZyBvcmRlciBvZiBpbmRpY2VzIiwKKwordGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7CisKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsICBp
ZHgsIG9iaikKKyAgeworICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOworICB9CisgIHZhciBz
cmNBcnIgPSBbJzEnLCcyJywnMycsJzQnLCc1J107CisgIGlmKHNyY0Fyci5yZWR1Y2VSaWdodChj
YWxsYmFja2ZuKSA9PT0gJzU0MzIxJykKKyAgeworICAgIHJldHVybiB0cnVlOworICB9CisKKyB9
LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3Rz
KEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjIyLTEwLTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTEwLTMuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4yMi0xMC0zLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTEwLTMuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LWlkOiAiMTUuNC40LjIyLTEwLTMiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjQvMTUuNC40LzE1LjQuNC4yMi8xNS40LjQuMjItMTAtMy5qcyIsDQotDQotZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBzdWJjbGFzc2VkIGFycmF5IHdpdGggbGVu
Z3RoIDEiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgZm9vLnByb3RvdHlw
ZSA9IFsxXTsNCi0gIGZ1bmN0aW9uIGZvbygpIHt9DQotICB2YXIgZiA9IG5ldyBmb28oKTsNCi0g
IA0KLSAgZnVuY3Rpb24gY2IoKXt9DQotICBpZihmLnJlZHVjZVJpZ2h0KGNiKSA9PT0gMSkNCi0g
ICAgcmV0dXJuIHRydWU7DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0KTsNCi0g
fQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAor
Ly8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQK
Ky8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgor
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMjItMTAtMyIsCisKK3BhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMi8xNS40LjQuMjItMTAtMy5q
cyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gc3ViY2xh
c3NlZCBhcnJheSB3aXRoIGxlbmd0aCAxIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
CisgIGZvby5wcm90b3R5cGUgPSBbMV07CisgIGZ1bmN0aW9uIGZvbygpIHt9CisgIHZhciBmID0g
bmV3IGZvbygpOworICAKKyAgZnVuY3Rpb24gY2IoKXt9CisgIGlmKGYucmVkdWNlUmlnaHQoY2Ip
ID09PSAxKQorICAgIHJldHVybiB0cnVlOworIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0
KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItMTAtMy5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMjItMTAtNC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTEwLTQuanMJKHJldmlzaW9uIDE5
OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMjItMTAtNC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYN
Ci0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0K
LUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjItMTAtNCIsDQotDQot
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4y
Mi0xMC00LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdo
dCAtIHN1YmNsYXNzZWQgYXJyYXkgd2l0aCBsZW5ndGggbW9yZSB0aGFuIDEiLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgwLCAx
LCAyLCAzKTsNCi0gIGZ1bmN0aW9uIGZvbygpIHt9DQotICB2YXIgZiA9IG5ldyBmb28oKTsNCi0g
IA0KLSAgZnVuY3Rpb24gY2IocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iail7cmV0dXJuIHByZXZW
YWwgKyBjdXJWYWw7fQ0KLSAgaWYoZi5yZWR1Y2VSaWdodChjYikgPT09IDYpDQotICAgIHJldHVy
biB0cnVlOw0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAg
cmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7DQotIH0NCi19KTsN
CisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjIyLTEwLTQiLAorCitwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEwLTQuanMiLAorCitk
ZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHN1YmNsYXNzZWQgYXJy
YXkgd2l0aCBsZW5ndGggbW9yZSB0aGFuIDEiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsKKyAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgwLCAxLCAyLCAzKTsKKyAgZnVuY3Rpb24g
Zm9vKCkge30KKyAgdmFyIGYgPSBuZXcgZm9vKCk7CisgIAorICBmdW5jdGlvbiBjYihwcmV2VmFs
LCBjdXJWYWwsIGlkeCwgb2JqKXtyZXR1cm4gcHJldlZhbCArIGN1clZhbDt9CisgIGlmKGYucmVk
dWNlUmlnaHQoY2IpID09PSA2KQorICAgIHJldHVybiB0cnVlOworIH0sCisKK3ByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
LnJlZHVjZVJpZ2h0KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItMTAtNC5qcwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItMTAtNS5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTEwLTUuanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMjItMTAtNS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NiArMSw0
NiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8v
IA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQot
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0v
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0K
LS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjIt
MTAtNSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40
LjIyLzE1LjQuNC4yMi0xMC01LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlw
ZS5yZWR1Y2VSaWdodCByZWR1Y2VzIGFycmF5IGluIGRlc2NlbmRpbmcgb3JkZXIgb2YgaW5kaWNl
cyhpbml0aWFsdmFsdWUgcHJlc2VudCkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
ew0KLQ0KLSAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsICBpZHgsIG9iaikN
Ci0gIHsNCi0gICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQotICB9DQotICB2YXIgc3JjQXJy
ID0gWycxJywnMicsJzMnLCc0JywnNSddOw0KLSAgaWYoc3JjQXJyLnJlZHVjZVJpZ2h0KGNhbGxi
YWNrZm4sJzYnKSA9PT0gJzY1NDMyMScpDQotICB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0K
LQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJu
IGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7DQotIH0NCi19KTsNCisvLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsKK2lkOiAiMTUuNC40LjIyLTEwLTUiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEwLTUuanMiLAorCitkZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCByZWR1Y2VzIGFycmF5IGluIGRlc2Nl
bmRpbmcgb3JkZXIgb2YgaW5kaWNlcyhpbml0aWFsdmFsdWUgcHJlc2VudCkiLAorCit0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1
clZhbCwgIGlkeCwgb2JqKQorICB7CisgICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7CisgIH0K
KyAgdmFyIHNyY0FyciA9IFsnMScsJzInLCczJywnNCcsJzUnXTsKKyAgaWYoc3JjQXJyLnJlZHVj
ZVJpZ2h0KGNhbGxiYWNrZm4sJzYnKSA9PT0gJzY1NDMyMScpCisgIHsKKyAgICByZXR1cm4gdHJ1
ZTsKKyAgfQorCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJl
dHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQpOworIH0KK30pOwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4yMi0xMC01LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi0x
MC02LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMjItMTAtNi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi0xMC02Lmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMi0xMC02IiwNCi0NCi1wYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEwLTYuanMiLA0KLQ0K
LWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gc3ViY2xhc3NlZCBh
cnJheSB3aGVuIGluaXRpYWx2YWx1ZSBwcm92aWRlZCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7DQotICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDAsIDEsIDIsIDMpOw0KLSAg
ZnVuY3Rpb24gZm9vKCkge30NCi0gIHZhciBmID0gbmV3IGZvbygpOw0KLSAgDQotICBmdW5jdGlv
biBjYihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKXtyZXR1cm4gcHJldlZhbCArIGN1clZhbDt9
DQotICBpZihmLnJlZHVjZVJpZ2h0KGNiLCI0IikgPT09ICI0MzIxMCIpDQotICAgIHJldHVybiB0
cnVlOw0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0
dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7DQotIH0NCi19KTsNCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjIyLTEwLTYiLAorCitwYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEwLTYuanMiLAorCitkZXNj
cmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHN1YmNsYXNzZWQgYXJyYXkg
d2hlbiBpbml0aWFsdmFsdWUgcHJvdmlkZWQiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsKKyAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgwLCAxLCAyLCAzKTsKKyAgZnVuY3Rpb24g
Zm9vKCkge30KKyAgdmFyIGYgPSBuZXcgZm9vKCk7CisgIAorICBmdW5jdGlvbiBjYihwcmV2VmFs
LCBjdXJWYWwsIGlkeCwgb2JqKXtyZXR1cm4gcHJldlZhbCArIGN1clZhbDt9CisgIGlmKGYucmVk
dWNlUmlnaHQoY2IsIjQiKSA9PT0gIjQzMjEwIikKKyAgICByZXR1cm4gdHJ1ZTsKKyB9LAorCitw
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5
LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTEw
LTYuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTEwLTcuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4y
Mi0xMC03LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTEwLTcuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsNDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
Lg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAi
MTUuNC40LjIyLTEwLTciLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUu
NC40LzE1LjQuNC4yMi8xNS40LjQuMjItMTAtNy5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJh
eS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBzdWJjbGFzc2VkIGFycmF5IHdoZW4gbGVuZ3RoIHRv
IDEgYW5kIGluaXRpYWx2YWx1ZSBwcm92aWRlZCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7DQotICBmb28ucHJvdG90eXBlID0gWzFdOw0KLSAgZnVuY3Rpb24gZm9vKCkge30NCi0g
IHZhciBmID0gbmV3IGZvbygpOw0KLSAgDQotICBmdW5jdGlvbiBjYihwcmV2VmFsLCBjdXJWYWws
IGlkeCwgb2JqKXtyZXR1cm4gcHJldlZhbCArIGN1clZhbDt9DQotICBpZihmLnJlZHVjZVJpZ2h0
KGNiLCI0IikgPT09ICI0MSIpDQotICAgIHJldHVybiB0cnVlOw0KLSB9LA0KLQ0KLXByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3Rv
dHlwZS5yZWR1Y2VSaWdodCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40
LjIyLTEwLTciLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40
LjQuMjIvMTUuNC40LjIyLTEwLTcuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlw
ZS5yZWR1Y2VSaWdodCAtIHN1YmNsYXNzZWQgYXJyYXkgd2hlbiBsZW5ndGggdG8gMSBhbmQgaW5p
dGlhbHZhbHVlIHByb3ZpZGVkIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZv
by5wcm90b3R5cGUgPSBbMV07CisgIGZ1bmN0aW9uIGZvbygpIHt9CisgIHZhciBmID0gbmV3IGZv
bygpOworICAKKyAgZnVuY3Rpb24gY2IocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iail7cmV0dXJu
IHByZXZWYWwgKyBjdXJWYWw7fQorICBpZihmLnJlZHVjZVJpZ2h0KGNiLCI0IikgPT09ICI0MSIp
CisgICAgcmV0dXJuIHRydWU7CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQpOworIH0K
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi0xMC03LmpzCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
b2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4yMi0xMC04LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItMTAtOC5qcwkocmV2aXNpb24gMTk5NTQ5KQor
KysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4y
Mi0xMC04LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUyICsxLDUyIEBACi0vLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0v
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMi0xMC04IiwNCi0NCi1wYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEwLTgu
anMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGRvZXNu
J3QgdmlzaXQgZXhwYW5kb3MiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0K
LSAgdmFyIGNhbGxDbnQgPSAwOw0KLSAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJW
YWwsICBpZHgsIG9iaikNCi0gIHsNCi0gICAgY2FsbENudCsrOw0KLSAgfQ0KLSAgdmFyIHNyY0Fy
ciA9IFsnMScsJzInLCczJywnNCcsJzUnXTsNCi0gIHNyY0FyclsiaSJdID0gMTA7DQotICBzcmNB
cnJbdHJ1ZV0gPSAxMTsNCi0NCi0gIHNyY0Fyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCi0N
Ci0gIGlmKGNhbGxDbnQgPT0gNCkNCi0gIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotDQot
IH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5F
eGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAK
Ky8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggeworaWQ6ICIxNS40LjQuMjItMTAtOCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4yMi8xNS40LjQuMjItMTAtOC5qcyIsCisKK2Rlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGRvZXNuJ3QgdmlzaXQgZXhwYW5kb3MiLAor
Cit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICB2YXIgY2FsbENudCA9IDA7CisgIGZ1
bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCAgaWR4LCBvYmopCisgIHsKKyAgICBj
YWxsQ250Kys7CisgIH0KKyAgdmFyIHNyY0FyciA9IFsnMScsJzInLCczJywnNCcsJzUnXTsKKyAg
c3JjQXJyWyJpIl0gPSAxMDsKKyAgc3JjQXJyW3RydWVdID0gMTE7CisKKyAgc3JjQXJyLnJlZHVj
ZVJpZ2h0KGNhbGxiYWNrZm4pOworCisgIGlmKGNhbGxDbnQgPT0gNCkKKyAgeworICAgIHJldHVy
biB0cnVlOworICB9CisKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsK
KyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7CisgfQorfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjIyLTEwLTguanMKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1z
dHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjIyLTQtMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTQtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi00LTEu
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQot
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIyLTQtMSIsDQotDQotcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTEuanMiLA0KLQ0K
LWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHRocm93cyBUeXBlRXJy
b3IgaWYgY2FsbGJhY2tmbiBpcyB1bmRlZmluZWQiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgew0KLQ0KLSAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQotICB0cnkgew0KLSAgICBh
cnIucmVkdWNlUmlnaHQoKTsgICAgDQotICB9DQotICBjYXRjaChlKSB7DQotICAgIGlmKGUgaW5z
dGFuY2VvZiBUeXBlRXJyb3IpDQotICAgICAgcmV0dXJuIHRydWU7ICANCi0gIH0NCi0NCi0gfSwN
Ci0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0
cyhBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
CitpZDogIjE1LjQuNC4yMi00LTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40
LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTQtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBp
cyB1bmRlZmluZWQiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICB2YXIgYXJy
ID0gbmV3IEFycmF5KDEwKTsKKyAgdHJ5IHsKKyAgICBhcnIucmVkdWNlUmlnaHQoKTsgICAgCisg
IH0KKyAgY2F0Y2goZSkgeworICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpCisgICAgICBy
ZXR1cm4gdHJ1ZTsgIAorICB9CisKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7Cisg
fQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTQtMS5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMjItNC0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItNC0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIy
LTQtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NSArMSw0NSBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjItNC0yIiwNCi0NCi1wYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTQtMi5qcyIs
DQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFJl
ZmVyZW5jZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgdW5yZWZlcmVuY2VkIiwNCi0NCi10ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KLSAg
dHJ5IHsNCi0gICAgYXJyLnJlZHVjZVJpZ2h0KGZvbyk7ICAgIA0KLSAgfQ0KLSAgY2F0Y2goZSkg
ew0KLSAgICBpZihlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpDQotICAgICAgcmV0dXJuIHRy
dWU7ICANCi0gIH0NCi0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQpOw0KLSB9
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4yMi00LTIiLAorCitwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTQtMi5qcyIs
CisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHRocm93cyBSZWZl
cmVuY2VFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHVucmVmZXJlbmNlZCIsCisKK3Rlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgeworCisgIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOworICB0cnkgewor
ICAgIGFyci5yZWR1Y2VSaWdodChmb28pOyAgICAKKyAgfQorICBjYXRjaChlKSB7CisgICAgaWYo
ZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKQorICAgICAgcmV0dXJuIHRydWU7ICAKKyAgfQor
CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4
aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQpOworIH0KK30pOwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4yMi00LTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsx
ICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTQtMy5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjIyLTQtMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi00LTMuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LWlkOiAiMTUuNC40LjIyLTQtMyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAi
QXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tm
biBpcyBudWxsIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gIHZhciBh
cnIgPSBuZXcgQXJyYXkoMTApOw0KLSAgdHJ5IHsNCi0gICAgYXJyLnJlZHVjZVJpZ2h0KG51bGwp
OyAgICANCi0gIH0NCi0gIGNhdGNoKGUpIHsNCi0gICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJv
cikNCi0gICAgICByZXR1cm4gdHJ1ZTsgIA0KLSAgfQ0KLQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlw
ZS5yZWR1Y2VSaWdodCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisv
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjIy
LTQtMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4y
Mi8xNS40LjQuMjItNC0zLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVk
dWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG51bGwiLAorCit0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsKKyAg
dHJ5IHsKKyAgICBhcnIucmVkdWNlUmlnaHQobnVsbCk7ICAgIAorICB9CisgIGNhdGNoKGUpIHsK
KyAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQorICAgICAgcmV0dXJuIHRydWU7ICAKKyAg
fQorCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBm
bkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQpOworIH0KK30pOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4yMi00LTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTQtNC5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjIyLTQtNC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi00LTQuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
Uw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0K
LS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
ew0KLWlkOiAiMTUuNC40LjIyLTQtNCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTQuanMiLA0KLQ0KLWRlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJh
Y2tmbiBpcyBib29sZWFuIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0g
IHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KLSAgdHJ5IHsNCi0gICAgYXJyLnJlZHVjZVJpZ2h0
KHRydWUpOyAgICANCi0gIH0NCi0gIGNhdGNoKGUpIHsNCi0gICAgaWYoZSBpbnN0YW5jZW9mIFR5
cGVFcnJvcikNCi0gICAgICByZXR1cm4gdHJ1ZTsgIA0KLSAgfQ0KLQ0KLSB9LA0KLQ0KLXByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnBy
b3RvdHlwZS5yZWR1Y2VSaWdodCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MK
Ky8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUu
NC40LjIyLTQtNCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1
LjQuNC4yMi8xNS40LjQuMjItNC00LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5
cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIGJvb2xlYW4i
LAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICB2YXIgYXJyID0gbmV3IEFycmF5
KDEwKTsKKyAgdHJ5IHsKKyAgICBhcnIucmVkdWNlUmlnaHQodHJ1ZSk7ICAgIAorICB9CisgIGNh
dGNoKGUpIHsKKyAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQorICAgICAgcmV0dXJuIHRy
dWU7ICAKKyAgfQorCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7Cisg
IHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQpOworIH0KK30pOwoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4yMi00LTQuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHls
ZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIy
LTQtNS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjIyLTQtNS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi00LTUuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIyLTQtNSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTUuanMiLA0KLQ0KLWRl
c2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHRocm93cyBUeXBlRXJyb3Ig
aWYgY2FsbGJhY2tmbiBpcyBudW1iZXIiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
ew0KLQ0KLSAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQotICB0cnkgew0KLSAgICBhcnIucmVk
dWNlUmlnaHQoNSk7ICAgIA0KLSAgfQ0KLSAgY2F0Y2goZSkgew0KLSAgICBpZihlIGluc3RhbmNl
b2YgVHlwZUVycm9yKQ0KLSAgICAgIHJldHVybiB0cnVlOyAgDQotICB9DQotDQotIH0sDQotDQot
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJy
YXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6
ICIxNS40LjQuMjItNC01IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40
LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTUuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnBy
b3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgbnVt
YmVyIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisKKyAgdmFyIGFyciA9IG5ldyBB
cnJheSgxMCk7CisgIHRyeSB7CisgICAgYXJyLnJlZHVjZVJpZ2h0KDUpOyAgICAKKyAgfQorICBj
YXRjaChlKSB7CisgICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikKKyAgICAgIHJldHVybiB0
cnVlOyAgCisgIH0KKworIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewor
ICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0KTsKKyB9Cit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMjItNC01LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4y
Mi00LTYuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4yMi00LTYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItNC02Lmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ1ICsxLDQ1IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMi00LTYiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMi8xNS40LjQuMjItNC02LmpzIiwNCi0NCi1k
ZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9y
IGlmIGNhbGxiYWNrZm4gaXMgc3RyaW5nIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsNCi0NCi0gIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KLSAgdHJ5IHsNCi0gICAgYXJyLnJl
ZHVjZVJpZ2h0KCJhYmMiKTsgICAgDQotICB9DQotICBjYXRjaChlKSB7DQotICAgIGlmKGUgaW5z
dGFuY2VvZiBUeXBlRXJyb3IpDQotICAgICAgcmV0dXJuIHRydWU7ICANCi0gIH0NCi0NCi0gfSwN
Ci0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0
cyhBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
CitpZDogIjE1LjQuNC4yMi00LTYiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40
LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTQtNi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBp
cyBzdHJpbmciLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKworICB2YXIgYXJyID0g
bmV3IEFycmF5KDEwKTsKKyAgdHJ5IHsKKyAgICBhcnIucmVkdWNlUmlnaHQoImFiYyIpOyAgICAK
KyAgfQorICBjYXRjaChlKSB7CisgICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikKKyAgICAg
IHJldHVybiB0cnVlOyAgCisgIH0KKworIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0KTsK
KyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItNC02LmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNC4yMi00LTcuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi00LTcuanMJKHJldmlzaW9uIDE5OTU0OSkK
KysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQu
MjItNC03LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ1ICsxLDQ1IEBACi0vLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4g
IA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0v
Ly8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFy
bmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMi00LTciLA0KLQ0KLXBhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMi8xNS40LjQuMjItNC03Lmpz
IiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3Mg
VHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgT2JqZWN0IHdpdGhvdXQgW1tDYWxsXV0gaW50ZXJu
YWwgbWV0aG9kIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0NCi0gIHZhciBh
cnIgPSBuZXcgQXJyYXkoMTApOw0KLSAgdHJ5IHsNCi0gICAgYXJyLnJlZHVjZVJpZ2h0KG5ldyBP
YmplY3QoKSk7ICAgIA0KLSAgfQ0KLSAgY2F0Y2goZSkgew0KLSAgICBpZihlIGluc3RhbmNlb2Yg
VHlwZUVycm9yKQ0KLSAgICAgIHJldHVybiB0cnVlOyAgDQotICB9DQotDQotIH0sDQotDQotcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLnJlZHVjZVJpZ2h0KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisv
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIx
NS40LjQuMjItNC03IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQv
MTUuNC40LjIyLzE1LjQuNC4yMi00LTcuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3Rv
dHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgT2JqZWN0
IHdpdGhvdXQgW1tDYWxsXV0gaW50ZXJuYWwgbWV0aG9kIiwKKwordGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7CisKKyAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7CisgIHRyeSB7CisgICAgYXJy
LnJlZHVjZVJpZ2h0KG5ldyBPYmplY3QoKSk7ICAgIAorICB9CisgIGNhdGNoKGUpIHsKKyAgICBp
ZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQorICAgICAgcmV0dXJuIHRydWU7ICAKKyAgfQorCisg
fSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0
cyhBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4yMi00LTcuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTQtOC5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjIyLTQtOC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi00LTguanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsNDUgKzEsNDUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0K
LS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlk
OiAiMTUuNC40LjIyLTQtOCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTguanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJy
YXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBp
cyBvYmplY3QiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLQ0KLSAgdmFyIGFy
ciA9IG5ldyBBcnJheSgxMCk7DQotICB0cnkgew0KLSAgICBhcnIucmVkdWNlUmlnaHQoe30pOyAg
ICANCi0gIH0NCi0gIGNhdGNoKGUpIHsNCi0gICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikN
Ci0gICAgICByZXR1cm4gdHJ1ZTsgIA0KLSAgfQ0KLQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5y
ZWR1Y2VSaWdodCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjIyLTQt
OCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMi8x
NS40LjQuMjItNC04LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNl
UmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG9iamVjdCIsCisKK3Rlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworCisgIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOworICB0
cnkgeworICAgIGFyci5yZWR1Y2VSaWdodCh7fSk7ICAgIAorICB9CisgIGNhdGNoKGUpIHsKKyAg
ICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQorICAgICAgcmV0dXJuIHRydWU7ICAKKyAgfQor
CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4
aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQpOworIH0KK30pOwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4yMi00LTguanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsx
ICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTUtMS5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjIyLTUtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi01LTEuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNDYgKzEsNDYgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
ew0KLWlkOiAiMTUuNC40LjIyLTUtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0
aCcgaXMgMCAoZW1wdHkgYXJyYXkpLCBubyBpbml0VmFsIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsNCi0gIGZ1bmN0aW9uIGNiKCl7fQ0KLSAgDQotICB0cnkgew0KLSAgICBbXS5y
ZWR1Y2VSaWdodChjYik7DQotICB9DQotICBjYXRjaCAoZSkgew0KLSAgICBpZiAoZSBpbnN0YW5j
ZW9mIFR5cGVFcnJvcikgew0KLSAgICAgIHJldHVybiB0cnVlOw0KLSAgICB9DQotICB9DQotIH0s
DQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlz
dHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7CitpZDogIjE1LjQuNC4yMi01LTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTUtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAi
QXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcg
aXMgMCAoZW1wdHkgYXJyYXkpLCBubyBpbml0VmFsIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7CisgIGZ1bmN0aW9uIGNiKCl7fQorICAKKyAgdHJ5IHsKKyAgICBbXS5yZWR1Y2VSaWdo
dChjYik7CisgIH0KKyAgY2F0Y2ggKGUpIHsKKyAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJv
cikgeworICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICB9CisgfSwKKworcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUu
cmVkdWNlUmlnaHQpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi01LTEuanMKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTUtMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTUtMi5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4yMi01LTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTAgKzEsNTAgQEAK
LS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0v
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAN
Ci0NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIyLTUt
MiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIy
LzE1LjQuNC4yMi01LTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJl
ZHVjZVJpZ2h0IHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBB
cnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gbnVsbCAodHlwZSBjb252ZXJzaW9uKSksIG5vIGlu
aXRWYWwiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgZm9vLnByb3RvdHlw
ZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCi0gIGZ1bmN0aW9uIGZvbygpIHt9DQotICB2YXIgZiA9
IG5ldyBmb28oKTsNCi0gIGYubGVuZ3RoID0gbnVsbDsNCi0gIA0KLSAgZnVuY3Rpb24gY2IoKXt9
DQotICB0cnkgew0KLSAgICBmLnJlZHVjZVJpZ2h0KGNiKTsNCi0gIH0NCi0gIGNhdGNoIChlKSB7
DQotICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQotICAgICAgcmV0dXJuIHRydWU7
DQotICAgIH0NCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQpOw0KLSB9
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKKworRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjIyLTUtMiIsCisKK3BhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMi8xNS40LjQuMjItNS0yLmpz
IiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5
cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJp
ZGRlbiB0byBudWxsICh0eXBlIGNvbnZlcnNpb24pKSwgbm8gaW5pdFZhbCIsCisKK3Rlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgeworICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMp
OworICBmdW5jdGlvbiBmb28oKSB7fQorICB2YXIgZiA9IG5ldyBmb28oKTsKKyAgZi5sZW5ndGgg
PSBudWxsOworICAKKyAgZnVuY3Rpb24gY2IoKXt9CisgIHRyeSB7CisgICAgZi5yZWR1Y2VSaWdo
dChjYik7CisgIH0KKyAgY2F0Y2ggKGUpIHsKKyAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJv
cikgeworICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICB9CisgfSwKKworcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUu
cmVkdWNlUmlnaHQpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi01LTIuanMKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTUtMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTUtMy5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4yMi01LTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTAgKzEsNTAgQEAK
LS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0v
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAN
Ci0NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIyLTUt
MyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIy
LzE1LjQuNC4yMi01LTMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJl
ZHVjZVJpZ2h0IHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBB
cnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gZmFsc2UgKHR5cGUgY29udmVyc2lvbikpLCBubyBp
bml0VmFsIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGZvby5wcm90b3R5
cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQotICBmdW5jdGlvbiBmb28oKSB7fQ0KLSAgdmFyIGYg
PSBuZXcgZm9vKCk7DQotICBmLmxlbmd0aCA9IGZhbHNlOw0KLSAgDQotICBmdW5jdGlvbiBjYigp
e30NCi0gIHRyeSB7DQotICAgIGYucmVkdWNlUmlnaHQoY2IpOw0KLSAgfQ0KLSAgY2F0Y2ggKGUp
IHsNCi0gICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCi0gICAgICByZXR1cm4gdHJ1
ZTsNCi0gICAgfQ0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7DQot
IH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAK
Ky8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
CisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYK
Ky8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMjItNS0zIiwKKworcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTMu
anMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3Mg
VHlwZUVycm9yIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVy
cmlkZGVuIHRvIGZhbHNlICh0eXBlIGNvbnZlcnNpb24pKSwgbm8gaW5pdFZhbCIsCisKK3Rlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIs
IDMpOworICBmdW5jdGlvbiBmb28oKSB7fQorICB2YXIgZiA9IG5ldyBmb28oKTsKKyAgZi5sZW5n
dGggPSBmYWxzZTsKKyAgCisgIGZ1bmN0aW9uIGNiKCl7fQorICB0cnkgeworICAgIGYucmVkdWNl
UmlnaHQoY2IpOworICB9CisgIGNhdGNoIChlKSB7CisgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBl
RXJyb3IpIHsKKyAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgfQorIH0sCisKK3ByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90
eXBlLnJlZHVjZVJpZ2h0KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItNS0zLmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi01LTQuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi01LTQuanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMjItNS00LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUwICsxLDUw
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4y
Mi01LTQiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQu
NC4yMi8xNS40LjQuMjItNS00LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlw
ZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNz
ZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIDAgKHR5cGUgY29udmVyc2lvbikpLCBubyBp
bml0VmFsIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGZvby5wcm90b3R5
cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQotICBmdW5jdGlvbiBmb28oKSB7fQ0KLSAgdmFyIGYg
PSBuZXcgZm9vKCk7DQotICBmLmxlbmd0aCA9IDA7DQotICANCi0gIGZ1bmN0aW9uIGNiKCl7fQ0K
LSAgdHJ5IHsNCi0gICAgZi5yZWR1Y2VSaWdodChjYik7DQotICB9DQotICBjYXRjaCAoZSkgew0K
LSAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KLSAgICAgIHJldHVybiB0cnVlOw0K
LSAgICB9DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0KTsNCi0gfQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCisKK0VTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4yMi01LTQiLAorCitwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTUtNC5qcyIs
CisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHRocm93cyBUeXBl
RXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRk
ZW4gdG8gMCAodHlwZSBjb252ZXJzaW9uKSksIG5vIGluaXRWYWwiLAorCit0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsKKyAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsKKyAg
ZnVuY3Rpb24gZm9vKCkge30KKyAgdmFyIGYgPSBuZXcgZm9vKCk7CisgIGYubGVuZ3RoID0gMDsK
KyAgCisgIGZ1bmN0aW9uIGNiKCl7fQorICB0cnkgeworICAgIGYucmVkdWNlUmlnaHQoY2IpOwor
ICB9CisgIGNhdGNoIChlKSB7CisgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsKKyAg
ICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZVJp
Z2h0KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItNS00LmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4yMi01LTUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi01LTUuanMJKHJldmlzaW9uIDE5
OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMjItNS01LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUwICsxLDUwIEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMi01LTUiLA0KLQ0K
LXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMi8xNS40LjQu
MjItNS01LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdo
dCB0aHJvd3MgVHlwZUVycm9yIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxl
bmd0aCBvdmVycmlkZGVuIHRvICcwJyAodHlwZSBjb252ZXJzaW9uKSksIG5vIGluaXRWYWwiLA0K
LQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgZm9vLnByb3RvdHlwZSA9IG5ldyBB
cnJheSgxLCAyLCAzKTsNCi0gIGZ1bmN0aW9uIGZvbygpIHt9DQotICB2YXIgZiA9IG5ldyBmb28o
KTsNCi0gIGYubGVuZ3RoID0gJzAnOw0KLSAgDQotICBmdW5jdGlvbiBjYigpe30NCi0gIHRyeSB7
DQotICAgIGYucmVkdWNlUmlnaHQoY2IpOw0KLSAgfQ0KLSAgY2F0Y2ggKGUpIHsNCi0gICAgaWYg
KGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCi0gICAgICByZXR1cm4gdHJ1ZTsNCi0gICAgfQ0K
LSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0
dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7DQotIH0NCi19KTsNCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworCitFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMjItNS01IiwKKworcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTUuanMiLAorCitkZXNj
cmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIGlm
ICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvICcw
JyAodHlwZSBjb252ZXJzaW9uKSksIG5vIGluaXRWYWwiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsKKyAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsKKyAgZnVuY3Rp
b24gZm9vKCkge30KKyAgdmFyIGYgPSBuZXcgZm9vKCk7CisgIGYubGVuZ3RoID0gJzAnOworICAK
KyAgZnVuY3Rpb24gY2IoKXt9CisgIHRyeSB7CisgICAgZi5yZWR1Y2VSaWdodChjYik7CisgIH0K
KyAgY2F0Y2ggKGUpIHsKKyAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgeworICAgICAg
cmV0dXJuIHRydWU7CisgICAgfQorICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQp
OworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi01LTUuanMKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjIyLTUtNi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTUtNi5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQu
NC4yMi01LTYuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNTIgKzEsNTIgQEAKLS8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1l
cyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0K
LS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi0NCi1F
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIyLTUtNiIsDQotDQotcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01
LTYuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHRo
cm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3Ro
IG92ZXJyaWRkZW4gd2l0aCBvYmogd2l0aCB2YWx1ZU9mKSwgbm8gaW5pdFZhbCIsDQotDQotdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEs
IDIsIDMpOw0KLSAgZnVuY3Rpb24gZm9vKCkge30NCi0gIHZhciBmID0gbmV3IGZvbygpOw0KLSAg
DQotICB2YXIgbyA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gMDt9fTsNCi0gIGYu
bGVuZ3RoID0gbzsNCi0gIA0KLSAgZnVuY3Rpb24gY2IoKXt9DQotICB0cnkgew0KLSAgICBmLnJl
ZHVjZVJpZ2h0KGNiKTsNCi0gIH0NCi0gIGNhdGNoIChlKSB7DQotICAgIGlmIChlIGluc3RhbmNl
b2YgVHlwZUVycm9yKSB7DQotICAgICAgcmV0dXJuIHRydWU7DQotICAgIH0NCi0gIH0NCi0gfSwN
Ci0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0
cyhBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTUuNC40LjIyLTUtNiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjQvMTUuNC40LzE1LjQuNC4yMi8xNS40LjQuMjItNS02LmpzIiwKKworZGVzY3JpcHRpb246ICJB
cnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBp
cyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3aXRoIHZh
bHVlT2YpLCBubyBpbml0VmFsIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZv
by5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7CisgIGZ1bmN0aW9uIGZvbygpIHt9Cisg
IHZhciBmID0gbmV3IGZvbygpOworICAKKyAgdmFyIG8gPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgp
IHsgcmV0dXJuIDA7fX07CisgIGYubGVuZ3RoID0gbzsKKyAgCisgIGZ1bmN0aW9uIGNiKCl7fQor
ICB0cnkgeworICAgIGYucmVkdWNlUmlnaHQoY2IpOworICB9CisgIGNhdGNoIChlKSB7CisgICAg
aWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsKKyAgICAgIHJldHVybiB0cnVlOworICAgIH0K
KyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4g
Zm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0KTsKKyB9Cit9KTsKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMjItNS02LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi01LTcuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4yMi01LTcuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItNS03LmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDU4ICsxLDU4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
Ci0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsNCi1pZDogIjE1LjQuNC4yMi01LTciLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMi8xNS40LjQuMjItNS03LmpzIiwNCi0NCi1kZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIGlmICds
ZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2Jq
IHcvbyB2YWx1ZU9mICh0b1N0cmluZykpLCBubyBpbml0VmFsIiwNCi0NCi10ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsNCi0gIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQot
ICBmdW5jdGlvbiBmb28oKSB7fQ0KLSAgdmFyIGYgPSBuZXcgZm9vKCk7DQotICANCi0gIHZhciBv
ID0geyB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gJzAnO319Ow0KLSAgZi5sZW5ndGgg
PSBvOw0KLSAgDQotICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRo
b2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQotICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBp
dHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCi0gIC8vIGRvZXMgbm90
IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBv
YmplY3QNCi0gIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9k
IGFuZCBjb252ZXJ0aW5nIHRoZQ0KLSAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4N
Ci0NCi0gIGZ1bmN0aW9uIGNiKCl7fQ0KLSAgdHJ5IHsNCi0gICAgZi5yZWR1Y2VSaWdodChjYik7
DQotICB9DQotICBjYXRjaCAoZSkgew0KLSAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikg
ew0KLSAgICAgIHJldHVybiB0cnVlOw0KLSAgICB9DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90
eXBlLnJlZHVjZVJpZ2h0KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IK
Ky8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQu
NC4yMi01LTciLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40
LjQuMjIvMTUuNC40LjIyLTUtNy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBl
LnJlZHVjZVJpZ2h0IHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3Nl
ZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogdy9vIHZhbHVlT2YgKHRvU3RyaW5n
KSksIG5vIGluaXRWYWwiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgZm9vLnBy
b3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsKKyAgZnVuY3Rpb24gZm9vKCkge30KKyAgdmFy
IGYgPSBuZXcgZm9vKCk7CisgIAorICB2YXIgbyA9IHsgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsg
cmV0dXJuICcwJzt9fTsKKyAgZi5sZW5ndGggPSBvOworICAKKyAgLy8gb2JqZWN0cyBpbmhlcml0
IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0OworICAvLyB0
aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2Yo
KSBtZXRob2QKKyAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0
IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdAorICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5n
IGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUKKyAgLy8gcmVzdWx0aW5n
IHN0cmluZyB0byBhIG51bWJlci4KKworICBmdW5jdGlvbiBjYigpe30KKyAgdHJ5IHsKKyAgICBm
LnJlZHVjZVJpZ2h0KGNiKTsKKyAgfQorICBjYXRjaCAoZSkgeworICAgIGlmIChlIGluc3RhbmNl
b2YgVHlwZUVycm9yKSB7CisgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgIH0KKyB9LAorCitw
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5
LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTUt
Ny5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItNS04LmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjIt
NS04LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTUtOC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw2
NSArMSw2NSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
DQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQot
Ly8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIA0KLQ0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIx
NS40LjQuMjItNS04IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQu
NC8xNS40LjQuMjIvMTUuNC40LjIyLTUtOC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5w
cm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChz
dWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIFtdKSwgbm8gaW5pdFZhbCIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBmb28ucHJvdG90eXBlID0gbmV3
IEFycmF5KDEsIDIsIDMpOw0KLSAgZnVuY3Rpb24gZm9vKCkge30NCi0gIHZhciBmID0gbmV3IGZv
bygpOw0KLSAgDQotICBmLmxlbmd0aCA9IFtdOw0KLSAgDQotICAvLyBvYmplY3RzIGluaGVyaXQg
dGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQotICAvLyB0
aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2Yo
KSBtZXRob2QNCi0gIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4
dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCi0gIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxp
bmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KLSAgLy8gcmVzdWx0
aW5nIHN0cmluZyB0byBhIG51bWJlci4NCi0gIC8vDQotICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0
aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KLSAg
Ly8gdGhlbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY29uY2F0ZW5hdGluZyB0aGVzZSBzdHJpbmdz
LCB3aXRoIGNvbW1hcyBpbg0KLSAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50
cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaA0KLSAgLy8gY29udmVydHMgdG8g
dGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGEN
Ci0gIC8vIG51bWJlciBuLCB0aGUgYXJyYXkgY29udmVydHMgdG8gYSBzdHJpbmcgcmVwcmVzZW50
YXRpb24gb2Ygbiwgd2hpY2ggaXMNCi0gIC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNl
bGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwNCi0gIC8vIG9y
IGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0
byBOYU4uDQotDQotICBmdW5jdGlvbiBjYigpe30NCi0gIHRyeSB7DQotICAgIGYucmVkdWNlUmln
aHQoY2IpOw0KLSAgfQ0KLSAgY2F0Y2ggKGUpIHsNCi0gICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBl
RXJyb3IpIHsNCi0gICAgICByZXR1cm4gdHJ1ZTsNCi0gICAgfQ0KLSAgfQ0KLSB9LA0KLQ0KLXBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5
LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6
ICIxNS40LjQuMjItNS04IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40
LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTguanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnBy
b3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIGlmICdsZW5ndGgnIGlzIDAgKHN1
YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggW10pLCBubyBpbml0VmFsIiwK
KwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZvby5wcm90b3R5cGUgPSBuZXcgQXJy
YXkoMSwgMiwgMyk7CisgIGZ1bmN0aW9uIGZvbygpIHt9CisgIHZhciBmID0gbmV3IGZvbygpOwor
ICAKKyAgZi5sZW5ndGggPSBbXTsKKyAgCisgIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVs
dCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsKKyAgLy8gdGhhdCBzaW1wbHkg
cmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kCisg
IC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBj
b252ZXJ0IHRoZSBvYmplY3QKKyAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJp
bmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlCisgIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8g
YSBudW1iZXIuCisgIC8vCisgIC8vIFRoZSB0b1N0cmluZyggKSBtZXRob2Qgb24gQXJyYXkgY29u
dmVydHMgdGhlIGFycmF5IGVsZW1lbnRzIHRvIHN0cmluZ3MsCisgIC8vIHRoZW4gcmV0dXJucyB0
aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMgaW4K
KyAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUg
ZW1wdHkgc3RyaW5nLCB3aGljaAorICAvLyBjb252ZXJ0cyB0byB0aGUgbnVtYmVyIDAuIElmIGFu
IGFycmF5IGhhcyBhIHNpbmdsZSBlbGVtZW50IHRoYXQgaXMgYQorICAvLyBudW1iZXIgbiwgdGhl
IGFycmF5IGNvbnZlcnRzIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4sIHdoaWNoIGlz
CisgIC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRh
aW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwKKyAgLy8gb3IgaWYgaXRzIG9uZSBlbGVtZW50IGlz
IG5vdCBhIG51bWJlciwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIE5hTi4KKworICBmdW5jdGlvbiBj
Yigpe30KKyAgdHJ5IHsKKyAgICBmLnJlZHVjZVJpZ2h0KGNiKTsKKyAgfQorICBjYXRjaCAoZSkg
eworICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7CisgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICB9CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAg
cmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7CisgfQorfSk7CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNC40LjIyLTUtOC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjIt
Ny0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS40LjQuMjItNy0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTctMS5qcwko
d29ya2luZyBjb3B5KQpAQCAtMSw0MiArMSw0MiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjItNy0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTctMS5qcyIsDQotDQotZGVz
Y3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFs
dWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKGVtcHR5IGFy
cmF5KSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBmdW5jdGlvbiBjYigp
e30NCi0gIA0KLSAgdHJ5IHsNCi0gICAgaWYoW10ucmVkdWNlUmlnaHQoY2IsMSkgPT09IDEpDQot
ICAgICAgcmV0dXJuIHRydWU7DQotICB9DQotICBjYXRjaCAoZSkgeyAgfSAgDQotIH0sDQotDQot
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJy
YXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6
ICIxNS40LjQuMjItNy0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40
LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTEuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnBy
b3RvdHlwZS5yZWR1Y2VSaWdodCByZXR1cm5zIGluaXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAw
IGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCAoZW1wdHkgYXJyYXkpIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgIGZ1bmN0aW9uIGNiKCl7fQorICAKKyAgdHJ5IHsKKyAgICBp
ZihbXS5yZWR1Y2VSaWdodChjYiwxKSA9PT0gMSkKKyAgICAgIHJldHVybiB0cnVlOworICB9Cisg
IGNhdGNoIChlKSB7ICB9ICAKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7CisgfQor
fSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTctMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMjItNy0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItNy0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTct
Mi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NiArMSw0NiBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjItNy0yIiwNCi0NCi1wYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTctMi5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0
aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1
YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIG51bGwgKHR5cGUgY29udmVyc2lv
bikpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGZvby5wcm90b3R5cGUg
PSBuZXcgQXJyYXkoMSwgMiwgMyk7DQotICBmdW5jdGlvbiBmb28oKSB7fQ0KLSAgdmFyIGYgPSBu
ZXcgZm9vKCk7DQotICBmLmxlbmd0aCA9IG51bGw7DQotICANCi0gIGZ1bmN0aW9uIGNiKCl7fQ0K
LSAgdHJ5IHsNCi0gICAgaWYoZi5yZWR1Y2VSaWdodChjYiwxKSA9PT0gMSkNCi0gICAgICByZXR1
cm4gdHJ1ZTsNCi0gIH0NCi0gIGNhdGNoIChlKSB7ICB9ICANCi0gfSwNCi0NCi1wcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5
cGUucmVkdWNlUmlnaHQpOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4y
Mi03LTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQu
MjIvMTUuNC40LjIyLTctMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJl
ZHVjZVJpZ2h0IHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRp
YWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0
byBudWxsICh0eXBlIGNvbnZlcnNpb24pKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
eworICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOworICBmdW5jdGlvbiBmb28o
KSB7fQorICB2YXIgZiA9IG5ldyBmb28oKTsKKyAgZi5sZW5ndGggPSBudWxsOworICAKKyAgZnVu
Y3Rpb24gY2IoKXt9CisgIHRyeSB7CisgICAgaWYoZi5yZWR1Y2VSaWdodChjYiwxKSA9PT0gMSkK
KyAgICAgIHJldHVybiB0cnVlOworICB9CisgIGNhdGNoIChlKSB7ICB9ICAKKyB9LAorCitwcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnBy
b3RvdHlwZS5yZWR1Y2VSaWdodCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTctMi5q
cwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItNy0zLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItNy0z
LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTctMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NiAr
MSw0NiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQot
Ly8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
DQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1p
Y3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8N
Ci0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8v
IA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQu
MjItNy0zIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40
LjQuMjIvMTUuNC40LjIyLTctMy5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5
cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQg
aW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlk
ZGVuIHRvIGZhbHNlICh0eXBlIGNvbnZlcnNpb24pKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7DQotICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KLSAgZnVu
Y3Rpb24gZm9vKCkge30NCi0gIHZhciBmID0gbmV3IGZvbygpOw0KLSAgZi5sZW5ndGggPSBmYWxz
ZTsNCi0gIA0KLSAgZnVuY3Rpb24gY2IoKXt9DQotICB0cnkgew0KLSAgICBpZihmLnJlZHVjZVJp
Z2h0KGNiLDEpID09PSAxKQ0KLSAgICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSAgY2F0Y2ggKGUp
IHsgIH0gIA0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAg
cmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7DQotIH0NCi19KTsN
CisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjIyLTctMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMi8xNS40LjQuMjItNy0zLmpzIiwKKworZGVz
Y3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFs
dWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNz
ZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIGZhbHNlICh0eXBlIGNvbnZlcnNpb24pKSIs
CisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBmb28ucHJvdG90eXBlID0gbmV3IEFy
cmF5KDEsIDIsIDMpOworICBmdW5jdGlvbiBmb28oKSB7fQorICB2YXIgZiA9IG5ldyBmb28oKTsK
KyAgZi5sZW5ndGggPSBmYWxzZTsKKyAgCisgIGZ1bmN0aW9uIGNiKCl7fQorICB0cnkgeworICAg
IGlmKGYucmVkdWNlUmlnaHQoY2IsMSkgPT09IDEpCisgICAgICByZXR1cm4gdHJ1ZTsKKyAgfQor
ICBjYXRjaCAoZSkgeyAgfSAgCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQpOworIH0K
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi03LTMuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjIyLTctNC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTctNC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysg
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi03
LTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDYgKzEsNDYgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIyLTctNCIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTQuanMiLA0K
LQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHJldHVybnMgaW5p
dGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChz
dWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAwICh0eXBlIGNvbnZlcnNpb24p
KSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBmb28ucHJvdG90eXBlID0g
bmV3IEFycmF5KDEsIDIsIDMpOw0KLSAgZnVuY3Rpb24gZm9vKCkge30NCi0gIHZhciBmID0gbmV3
IGZvbygpOw0KLSAgZi5sZW5ndGggPSAwOw0KLSAgDQotICBmdW5jdGlvbiBjYigpe30NCi0gIHRy
eSB7DQotICAgIGlmKGYucmVkdWNlUmlnaHQoY2IsMSkgPT09IDEpDQotICAgICAgcmV0dXJuIHRy
dWU7DQotICB9DQotICBjYXRjaCAoZSkgeyAgfSAgDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJl
ZHVjZVJpZ2h0KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMjItNy00
IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1
LjQuNC4yMi03LTQuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2VS
aWdodCByZXR1cm5zIGluaXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBpbml0aWFsVmFs
dWUgaXMgcHJlc2VudCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gMCAo
dHlwZSBjb252ZXJzaW9uKSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgZm9v
LnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsKKyAgZnVuY3Rpb24gZm9vKCkge30KKyAg
dmFyIGYgPSBuZXcgZm9vKCk7CisgIGYubGVuZ3RoID0gMDsKKyAgCisgIGZ1bmN0aW9uIGNiKCl7
fQorICB0cnkgeworICAgIGlmKGYucmVkdWNlUmlnaHQoY2IsMSkgPT09IDEpCisgICAgICByZXR1
cm4gdHJ1ZTsKKyAgfQorICBjYXRjaCAoZSkgeyAgfSAgCisgfSwKKworcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVk
dWNlUmlnaHQpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi03LTQuanMKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNC40LjIyLTctNS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTctNS5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4yMi03LTUuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDYgKzEsNDYgQEAKLS8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIyLTctNSIsDQot
DQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQu
NC4yMi03LTUuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJp
Z2h0IHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1
ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAnMCcg
KHR5cGUgY29udmVyc2lvbikpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0g
IGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQotICBmdW5jdGlvbiBmb28oKSB7
fQ0KLSAgdmFyIGYgPSBuZXcgZm9vKCk7DQotICBmLmxlbmd0aCA9ICcwJzsNCi0gIA0KLSAgZnVu
Y3Rpb24gY2IoKXt9DQotICB0cnkgew0KLSAgICBpZihmLnJlZHVjZVJpZ2h0KGNiLDEpID09PSAx
KQ0KLSAgICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSAgY2F0Y2ggKGUpIHsgIH0gIA0KLSB9LA0K
LQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3Rz
KEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsK
K2lkOiAiMTUuNC40LjIyLTctNSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC40LzE1LjQuNC4yMi8xNS40LjQuMjItNy01LmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJh
eS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcg
aXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0
aCBvdmVycmlkZGVuIHRvICcwJyAodHlwZSBjb252ZXJzaW9uKSkiLAorCit0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsKKyAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsKKyAg
ZnVuY3Rpb24gZm9vKCkge30KKyAgdmFyIGYgPSBuZXcgZm9vKCk7CisgIGYubGVuZ3RoID0gJzAn
OworICAKKyAgZnVuY3Rpb24gY2IoKXt9CisgIHRyeSB7CisgICAgaWYoZi5yZWR1Y2VSaWdodChj
YiwxKSA9PT0gMSkKKyAgICAgIHJldHVybiB0cnVlOworICB9CisgIGNhdGNoIChlKSB7ICB9ICAK
KyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhp
c3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjIyLTctNS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEg
IyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItNy02LmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS40LjQuMjItNy02LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTctNi5qcwkod29ya2luZyBjb3B5
KQpAQCAtMSw0OCArMSw0OCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
DQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQot
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQot
aWQ6ICIxNS40LjQuMjItNy02IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40
LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTctNi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJB
cnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0
aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxl
bmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHdpdGggdmFsdWVPZikiLA0KLQ0KLXRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgew0KLSAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsN
Ci0gIGZ1bmN0aW9uIGZvbygpIHt9DQotICB2YXIgZiA9IG5ldyBmb28oKTsNCi0gIA0KLSAgdmFy
IG8gPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDA7fX07DQotICBmLmxlbmd0aCA9
IG87DQotICANCi0gIGZ1bmN0aW9uIGNiKCl7fQ0KLSAgdHJ5IHsNCi0gICAgaWYoZi5yZWR1Y2VS
aWdodChjYiwxKSA9PT0gMSkNCi0gICAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gIGNhdGNoIChl
KSB7ICB9ICANCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0g
IHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQpOw0KLSB9DQotfSk7
DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisv
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4yMi03LTYiLAorCitwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTctNi5qcyIsCisKK2Rl
c2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHJldHVybnMgaW5pdGlhbFZh
bHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFz
c2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3aXRoIHZhbHVlT2YpIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXko
MSwgMiwgMyk7CisgIGZ1bmN0aW9uIGZvbygpIHt9CisgIHZhciBmID0gbmV3IGZvbygpOworICAK
KyAgdmFyIG8gPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDA7fX07CisgIGYubGVu
Z3RoID0gbzsKKyAgCisgIGZ1bmN0aW9uIGNiKCl7fQorICB0cnkgeworICAgIGlmKGYucmVkdWNl
UmlnaHQoY2IsMSkgPT09IDEpCisgICAgICByZXR1cm4gdHJ1ZTsKKyAgfQorICBjYXRjaCAoZSkg
eyAgfSAgCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVy
biBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQpOworIH0KK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4yMi03LTYuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTctNy5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNC40LjIyLTctNy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi03LTcuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsNTQgKzEsNTQgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggew0KLWlkOiAiMTUuNC40LjIyLTctNyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTcuanMiLA0KLQ0KLWRlc2NyaXB0
aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHJldHVybnMgaW5pdGlhbFZhbHVlIGlm
ICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFy
cmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3L28gdmFsdWVPZiAodG9TdHJpbmcpKSIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBmb28ucHJvdG90eXBlID0gbmV3
IEFycmF5KDEsIDIsIDMpOw0KLSAgZnVuY3Rpb24gZm9vKCkge30NCi0gIHZhciBmID0gbmV3IGZv
bygpOw0KLSAgDQotICB2YXIgbyA9IHsgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcw
Jzt9fTsNCi0gIGYubGVuZ3RoID0gbzsNCi0gIA0KLSAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBk
ZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KLSAgLy8gdGhhdCBz
aW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0
aG9kDQotICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJp
ZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQotICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0
cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCi0gIC8vIHJlc3VsdGluZyBz
dHJpbmcgdG8gYSBudW1iZXIuDQotDQotICBmdW5jdGlvbiBjYigpe30NCi0gIHRyeSB7DQotICAg
IGlmKGYucmVkdWNlUmlnaHQoY2IsMSkgPT09IDEpDQotICAgICAgcmV0dXJuIHRydWU7DQotICB9
DQotICBjYXRjaCAoZSkgeyAgfSAgDQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0
KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bwor
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAor
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKwor
CitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMjItNy03IiwKKworcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03
LTcuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCByZXR1
cm5zIGluaXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBpbml0aWFsVmFsdWUgaXMgcHJl
c2VudCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogdy9vIHZh
bHVlT2YgKHRvU3RyaW5nKSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgZm9v
LnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsKKyAgZnVuY3Rpb24gZm9vKCkge30KKyAg
dmFyIGYgPSBuZXcgZm9vKCk7CisgIAorICB2YXIgbyA9IHsgdG9TdHJpbmc6IGZ1bmN0aW9uICgp
IHsgcmV0dXJuICcwJzt9fTsKKyAgZi5sZW5ndGggPSBvOworICAKKyAgLy8gb2JqZWN0cyBpbmhl
cml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0OworICAv
LyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVl
T2YoKSBtZXRob2QKKyAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBu
ZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdAorICAvLyB0byBhIG51bWJlciBieSBjYWxs
aW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUKKyAgLy8gcmVzdWx0
aW5nIHN0cmluZyB0byBhIG51bWJlci4KKworICBmdW5jdGlvbiBjYigpe30KKyAgdHJ5IHsKKyAg
ICBpZihmLnJlZHVjZVJpZ2h0KGNiLDEpID09PSAxKQorICAgICAgcmV0dXJuIHRydWU7CisgIH0K
KyAgY2F0Y2ggKGUpIHsgIH0gIAorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0KTsKKyB9
Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItNy03LmpzCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
b2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4yMi03LTguanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi03LTguanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjIt
Ny04LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYxICsxLDYxIEBACi0vLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0K
LS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
Uw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMi03LTgiLA0KLQ0KLXBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMi8xNS40LjQuMjItNy04LmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCByZXR1cm5zIGlu
aXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCAo
c3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBbXSkiLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAy
LCAzKTsNCi0gIGZ1bmN0aW9uIGZvbygpIHt9DQotICB2YXIgZiA9IG5ldyBmb28oKTsNCi0gIA0K
LSAgZi5sZW5ndGggPSBbXTsNCi0gIA0KLSAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0
IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KLSAgLy8gdGhhdCBzaW1wbHkg
cmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQot
ICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8g
Y29udmVydCB0aGUgb2JqZWN0DQotICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0
cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCi0gIC8vIHJlc3VsdGluZyBzdHJpbmcg
dG8gYSBudW1iZXIuDQotICAvLw0KLSAgLy8gVGhlIHRvU3RyaW5nKCApIG1ldGhvZCBvbiBBcnJh
eSBjb252ZXJ0cyB0aGUgYXJyYXkgZWxlbWVudHMgdG8gc3RyaW5ncywNCi0gIC8vIHRoZW4gcmV0
dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21t
YXMgaW4NCi0gIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMg
dG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCi0gIC8vIGNvbnZlcnRzIHRvIHRoZSBudW1iZXIg
MC4gSWYgYW4gYXJyYXkgaGFzIGEgc2luZ2xlIGVsZW1lbnQgdGhhdCBpcyBhDQotICAvLyBudW1i
ZXIgbiwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4s
IHdoaWNoIGlzDQotICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBh
cnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQotICAvLyBvciBpZiBpdHMgb25l
IGVsZW1lbnQgaXMgbm90IGEgbnVtYmVyLCB0aGUgYXJyYXkgY29udmVydHMgdG8gTmFOLg0KLQ0K
LSAgZnVuY3Rpb24gY2IoKXt9DQotICB0cnkgew0KLSAgICBpZihmLnJlZHVjZVJpZ2h0KGNiLDEp
ID09PSAxKQ0KLSAgICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSAgY2F0Y2ggKGUpIHsgIH0gIA0K
LSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZu
RXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7DQotIH0NCi19KTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKK2lkOiAiMTUuNC40LjIyLTctOCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4yMi8xNS40LjQuMjItNy04LmpzIiwKKworZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xl
bmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXks
IGxlbmd0aCBvdmVycmlkZGVuIHdpdGggW10pIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7CisgIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7CisgIGZ1bmN0aW9uIGZv
bygpIHt9CisgIHZhciBmID0gbmV3IGZvbygpOworICAKKyAgZi5sZW5ndGggPSBbXTsKKyAgCisg
IC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2Jq
ZWN0IG9iamVjdDsKKyAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0
aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kCisgIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1p
dGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QKKyAgLy8gdG8g
YSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcg
dGhlCisgIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuCisgIC8vCisgIC8vIFRoZSB0
b1N0cmluZyggKSBtZXRob2Qgb24gQXJyYXkgY29udmVydHMgdGhlIGFycmF5IGVsZW1lbnRzIHRv
IHN0cmluZ3MsCisgIC8vIHRoZW4gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcg
dGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMgaW4KKyAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0
aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaAorICAvLyBj
b252ZXJ0cyB0byB0aGUgbnVtYmVyIDAuIElmIGFuIGFycmF5IGhhcyBhIHNpbmdsZSBlbGVtZW50
IHRoYXQgaXMgYQorICAvLyBudW1iZXIgbiwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIGEgc3RyaW5n
IHJlcHJlc2VudGF0aW9uIG9mIG4sIHdoaWNoIGlzCisgIC8vIHRoZW4gY29udmVydGVkIGJhY2sg
dG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwK
KyAgLy8gb3IgaWYgaXRzIG9uZSBlbGVtZW50IGlzIG5vdCBhIG51bWJlciwgdGhlIGFycmF5IGNv
bnZlcnRzIHRvIE5hTi4KKworICBmdW5jdGlvbiBjYigpe30KKyAgdHJ5IHsKKyAgICBpZihmLnJl
ZHVjZVJpZ2h0KGNiLDEpID09PSAxKQorICAgICAgcmV0dXJuIHRydWU7CisgIH0KKyAgY2F0Y2gg
KGUpIHsgIH0gIAorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICBy
ZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0KTsKKyB9Cit9KTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjQuMjItNy04LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi03
LTkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjQuNC4yMi03LTkuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItNy05LmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDYxICsxLDYxIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
DQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMi03LTkiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMi8xNS40LjQuMjItNy05LmpzIiwNCi0NCi1kZXNj
cmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCByZXR1cm5zIGluaXRpYWxWYWx1
ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCAoc3ViY2xhc3Nl
ZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBbMF0pIiwNCi0NCi10ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsNCi0gIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQot
ICBmdW5jdGlvbiBmb28oKSB7fQ0KLSAgdmFyIGYgPSBuZXcgZm9vKCk7DQotICANCi0gIGYubGVu
Z3RoID0gWzBdOw0KLSAgDQotICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVP
ZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQotICAvLyB0aGF0IHNpbXBseSByZXR1cm5z
IHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCi0gIC8vIGRv
ZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0
IHRoZSBvYmplY3QNCi0gIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkg
bWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KLSAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51
bWJlci4NCi0gIC8vDQotICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZl
cnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KLSAgLy8gdGhlbiByZXR1cm5zIHRo
ZSByZXN1bHQgb2YgY29uY2F0ZW5hdGluZyB0aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbg0K
LSAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUg
ZW1wdHkgc3RyaW5nLCB3aGljaA0KLSAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBh
biBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCi0gIC8vIG51bWJlciBuLCB0
aGUgYXJyYXkgY29udmVydHMgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2gg
aXMNCi0gIC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNv
bnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwNCi0gIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVu
dCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQotDQotICBmdW5j
dGlvbiBjYigpe30NCi0gIHRyeSB7DQotICAgIGlmKGYucmVkdWNlUmlnaHQoY2IsMSkgPT09IDEp
DQotICAgICAgcmV0dXJuIHRydWU7DQotICB9DQotICBjYXRjaCAoZSkgeyAgfSAgDQotIH0sDQot
DQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMo
QXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxNS40LjQuMjItNy05IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTkuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5
LnByb3RvdHlwZS5yZWR1Y2VSaWdodCByZXR1cm5zIGluaXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBp
cyAwIGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3Ro
IG92ZXJyaWRkZW4gd2l0aCBbMF0pIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7Cisg
IGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7CisgIGZ1bmN0aW9uIGZvbygpIHt9
CisgIHZhciBmID0gbmV3IGZvbygpOworICAKKyAgZi5sZW5ndGggPSBbMF07CisgIAorICAvLyBv
YmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBv
YmplY3Q7CisgIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRl
ZmF1bHQgdmFsdWVPZigpIG1ldGhvZAorICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUg
dmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0CisgIC8vIHRvIGEgbnVt
YmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQor
ICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLgorICAvLworICAvLyBUaGUgdG9TdHJp
bmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJp
bmdzLAorICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNl
IHN0cmluZ3MsIHdpdGggY29tbWFzIGluCisgIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8g
ZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gKKyAgLy8gY29udmVy
dHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0
IGlzIGEKKyAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXBy
ZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcworICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4g
aXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsCisgIC8v
IG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0
cyB0byBOYU4uCisKKyAgZnVuY3Rpb24gY2IoKXt9CisgIHRyeSB7CisgICAgaWYoZi5yZWR1Y2VS
aWdodChjYiwxKSA9PT0gMSkKKyAgICAgIHJldHVybiB0cnVlOworICB9CisgIGNhdGNoIChlKSB7
ICB9ICAKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJu
IGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7CisgfQorfSk7CgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNC40LjIyLTctOS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w
LDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItOC1jLTEu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4yMi04LWMtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi04LWMtMS5qcwko
d29ya2luZyBjb3B5KQpAQCAtMSw0OCArMSw0OCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjItOC1jLTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMi8xNS40LjQuMjItOC1jLTEuanMiLA0KLQ0K
LWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHRocm93cyBUeXBlRXJy
b3Igd2hlbiBBcnJheSBpcyBlbXB0eSBhbmQgaW5pdGlhbFZhbHVlIGlzIG5vdCBwcmVzZW50IiwN
Ci0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQotIA0KLSAgZnVuY3Rpb24gY2FsbGJh
Y2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KLSAgew0KLSAgfQ0KLQ0KLSAgdmFyIGFy
ciA9IG5ldyBBcnJheSgxMCk7DQotICB0cnkgew0KLSAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJh
Y2tmbik7DQotICB9IA0KLSAgY2F0Y2goZSkgew0KLSAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVy
cm9yKQ0KLSAgICAgIHJldHVybiB0cnVlOyAgDQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBl
LnJlZHVjZVJpZ2h0KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
CisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQuMjIt
OC1jLTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQu
MjIvMTUuNC40LjIyLTgtYy0xLmpzIiwKKworZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUu
cmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciB3aGVuIEFycmF5IGlzIGVtcHR5IGFuZCBpbml0
aWFsVmFsdWUgaXMgbm90IHByZXNlbnQiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsg
CisgCisgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikKKyAg
eworICB9CisKKyAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7CisgIHRyeSB7CisgICAgYXJyLnJl
ZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOworICB9IAorICBjYXRjaChlKSB7CisgICAgaWYoZSBpbnN0
YW5jZW9mIFR5cGVFcnJvcikKKyAgICAgIHJldHVybiB0cnVlOyAgCisgIH0KKyB9LAorCitwcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnBy
b3RvdHlwZS5yZWR1Y2VSaWdodCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTgtYy0x
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi04LWMtMi5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIy
LTgtYy0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTgtYy0yLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDUwICsxLDUwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0v
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDog
IjE1LjQuNC4yMi04LWMtMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJB
cnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGVsZW1lbnRz
IGFzc2lnbmVkIHZhbHVlcyBhcmUgZGVsZXRlZCBieSByZWR1Y2lnbiBhcnJheSBsZW5ndGggYW5k
IGluaXRpYWxWYWx1ZSBpcyBub3QgcHJlc2VudCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7IA0KLSANCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgs
IG9iaikNCi0gIHsNCi0gIH0NCi0NCi0gIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KLSAgYXJy
WzldID0gMTsNCi0gIGFyci5sZW5ndGggPSA1Ow0KLSAgdHJ5IHsNCi0gICAgYXJyLnJlZHVjZVJp
Z2h0KGNhbGxiYWNrZm4pOw0KLSAgfSANCi0gIGNhdGNoKGUpIHsNCi0gICAgaWYoZSBpbnN0YW5j
ZW9mIFR5cGVFcnJvcikNCi0gICAgICByZXR1cm4gdHJ1ZTsgIA0KLSAgfQ0KLSB9LA0KLQ0KLXBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5
LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAi
MTUuNC40LjIyLTgtYy0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40
LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXku
cHJvdG90eXBlLnJlZHVjZVJpZ2h0IHRocm93cyBUeXBlRXJyb3Igd2hlbiBlbGVtZW50cyBhc3Np
Z25lZCB2YWx1ZXMgYXJlIGRlbGV0ZWQgYnkgcmVkdWNpZ24gYXJyYXkgbGVuZ3RoIGFuZCBpbml0
aWFsVmFsdWUgaXMgbm90IHByZXNlbnQiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsg
CisgCisgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikKKyAg
eworICB9CisKKyAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7CisgIGFycls5XSA9IDE7CisgIGFy
ci5sZW5ndGggPSA1OworICB0cnkgeworICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsK
KyAgfSAKKyAgY2F0Y2goZSkgeworICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpCisgICAg
ICByZXR1cm4gdHJ1ZTsgIAorICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQpOwor
IH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi04LWMtMi5qcwpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMjItOC1jLTMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi04LWMtMy5qcwkocmV2aXNpb24gMTk5
NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNC4yMi04LWMtMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1MyArMSw1MyBAQAotLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYN
Ci0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0K
LUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjItOC1jLTMiLA0KLQ0K
LXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMi8xNS40LjQu
MjItOC1jLTMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJp
Z2h0IHRocm93cyBUeXBlRXJyb3Igd2hlbiBlbGVtZW50cyBhc3NpZ25lZCB2YWx1ZXMgYXJlIGRl
bGV0ZWQgYW5kIGluaXRpYWxWYWx1ZSBpcyBub3QgcHJlc2VudCIsDQotDQotdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7IA0KLSANCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3Vy
VmFsLCBpZHgsIG9iaikNCi0gIHsNCi0gIH0NCi0NCi0gIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsN
Ci0gIGRlbGV0ZSBhcnJbMF07DQotICBkZWxldGUgYXJyWzFdOw0KLSAgZGVsZXRlIGFyclsyXTsN
Ci0gIGRlbGV0ZSBhcnJbM107DQotICBkZWxldGUgYXJyWzRdOw0KLSAgdHJ5IHsNCi0gICAgYXJy
LnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KLSAgfSANCi0gIGNhdGNoKGUpIHsNCi0gICAgaWYo
ZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCi0gICAgICByZXR1cm4gdHJ1ZTsgIA0KLSAgfQ0KLSB9
LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhp
c3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTUuNC40LjIyLTgtYy0zIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtMy5qcyIsCisKK2Rlc2NyaXB0aW9u
OiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHRocm93cyBUeXBlRXJyb3Igd2hlbiBlbGVt
ZW50cyBhc3NpZ25lZCB2YWx1ZXMgYXJlIGRlbGV0ZWQgYW5kIGluaXRpYWxWYWx1ZSBpcyBub3Qg
cHJlc2VudCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAKKyAKKyAgZnVuY3Rpb24g
Y2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQorICB7CisgIH0KKworICB2YXIg
YXJyID0gWzEsMiwzLDQsNV07CisgIGRlbGV0ZSBhcnJbMF07CisgIGRlbGV0ZSBhcnJbMV07Cisg
IGRlbGV0ZSBhcnJbMl07CisgIGRlbGV0ZSBhcnJbM107CisgIGRlbGV0ZSBhcnJbNF07CisgIHRy
eSB7CisgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOworICB9IAorICBjYXRjaChlKSB7
CisgICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikKKyAgICAgIHJldHVybiB0cnVlOyAgCisg
IH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZu
RXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7CisgfQorfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjIyLTgtYy0zLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi05LTIuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4yMi05LTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItOS0yLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDQ3ICsxLDQ3IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
Ci0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsNCi1pZDogIjE1LjQuNC4yMi05LTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjQvMTUuNC40LzE1LjQuNC4yMi8xNS40LjQuMjItOS0yLmpzIiwNCi0NCi1kZXNjcmlwdGlv
bjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBjb25zaWRlcnMgbmV3IHZhbHVlIG9mIGVs
ZW1lbnRzIGluIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZCIsDQotDQotdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7IA0KLSANCi0gIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFs
LCBpZHgsIG9iaikNCi0gIHsNCi0gICAgYXJyWzNdID0gLTI7DQotICAgIGFyclswXSA9IC0xOw0K
LSAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsNCi0gIH0NCi0NCi0gIHZhciBhcnIgPSBbMSwy
LDMsNCw1XTsNCi0gIGlmKGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKSA9PT0gMTMpDQotICAg
IHJldHVybiB0cnVlOyAgDQotICANCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQp
Ow0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisv
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisv
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4yMi05LTIiLAorCitwYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTkt
Mi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGNvbnNp
ZGVycyBuZXcgdmFsdWUgb2YgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgaXQgaXMgY2FsbGVkIiwK
KwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAorIAorICBmdW5jdGlvbiBjYWxsYmFja2Zu
KHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopCisgIHsKKyAgICBhcnJbM10gPSAtMjsKKyAgICBh
cnJbMF0gPSAtMTsKKyAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsKKyAgfQorCisgIHZhciBh
cnIgPSBbMSwyLDMsNCw1XTsKKyAgaWYoYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pID09PSAx
MykKKyAgICByZXR1cm4gdHJ1ZTsgIAorICAKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdo
dCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTktMi5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS40LjQuMjItOS0zLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItOS0zLmpzCShyZXZpc2lvbiAxOTk1
NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NC40LjIyLTktMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NyArMSw0NyBAQAotLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
DQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0v
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjItOS0zIiwNCi0NCi1wYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTkt
My5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgZG9l
c24ndCBjb25zaWRlciB1bnZpc2l0ZWQgZGVsZXRlZCBlbGVtZW50cyBpbiBhcnJheSBhZnRlciB0
aGUgY2FsbCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KLSANCi0gIGZ1bmN0
aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgIA0KLSAgew0KLSAgICBk
ZWxldGUgYXJyWzFdOw0KLSAgICBkZWxldGUgYXJyWzRdOw0KLSAgICByZXR1cm4gcHJldlZhbCAr
IGN1clZhbDsgICAgDQotICB9DQotDQotICB2YXIgYXJyID0gWycxJywyLDMsNCw1XTsNCi0gIGlm
KGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKSA9PT0gIjEyMSIgKSAgICAvLyB0d28gZWxlbWVu
dHMgZGVsZXRlZA0KLSAgICByZXR1cm4gdHJ1ZTsgIA0KLSAgDQotIH0sDQotDQotcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90
eXBlLnJlZHVjZVJpZ2h0KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IK
Ky8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjQu
MjItOS0zIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40
LjIyLzE1LjQuNC4yMi05LTMuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5y
ZWR1Y2VSaWdodCBkb2Vzbid0IGNvbnNpZGVyIHVudmlzaXRlZCBkZWxldGVkIGVsZW1lbnRzIGlu
IGFycmF5IGFmdGVyIHRoZSBjYWxsIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAor
IAorICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopICAKKyAg
eworICAgIGRlbGV0ZSBhcnJbMV07CisgICAgZGVsZXRlIGFycls0XTsKKyAgICByZXR1cm4gcHJl
dlZhbCArIGN1clZhbDsgICAgCisgIH0KKworICB2YXIgYXJyID0gWycxJywyLDMsNCw1XTsKKyAg
aWYoYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pID09PSAiMTIxIiApICAgIC8vIHR3byBlbGVt
ZW50cyBkZWxldGVkCisgICAgcmV0dXJuIHRydWU7ICAKKyAgCisgfSwKKworcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUu
cmVkdWNlUmlnaHQpOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi05LTMuanMKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTktNC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTktNC5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjQuNC4yMi05LTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDYgKzEsNDYgQEAK
LS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0v
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAN
Ci0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC40LjIyLTktNCIs
DQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1
LjQuNC4yMi05LTQuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVj
ZVJpZ2h0IGRvZXNuJ3QgY29uc2lkZXIgdW52aXNpdGVkIGRlbGV0ZWQgZWxlbWVudHMgd2hlbiBB
cnJheS5sZW5ndGggaXMgZGVjcmVhc2VkIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsgDQotIA0KLSAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2Jq
KQ0KLSAgew0KLSAgICBhcnIubGVuZ3RoID0gMjsNCi0gICAgcmV0dXJuIHByZXZWYWwgKyBjdXJW
YWw7DQotICB9DQotDQotICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQotICBpZihhcnIucmVkdWNl
UmlnaHQoY2FsbGJhY2tmbikgPT09IDEyICkNCi0gICAgcmV0dXJuIHRydWU7ICANCi0gIA0KLSB9
LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhp
c3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTUuNC40LjIyLTktNCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjQvMTUuNC40LzE1LjQuNC4yMi8xNS40LjQuMjItOS00LmpzIiwKKworZGVzY3JpcHRpb246ICJB
cnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgZG9lc24ndCBjb25zaWRlciB1bnZpc2l0ZWQgZGVs
ZXRlZCBlbGVtZW50cyB3aGVuIEFycmF5Lmxlbmd0aCBpcyBkZWNyZWFzZWQiLAorCit0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCisgCisgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwg
Y3VyVmFsLCBpZHgsIG9iaikKKyAgeworICAgIGFyci5sZW5ndGggPSAyOworICAgIHJldHVybiBw
cmV2VmFsICsgY3VyVmFsOworICB9CisKKyAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOworICBpZihh
cnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbikgPT09IDEyICkKKyAgICByZXR1cm4gdHJ1ZTsgIAor
ICAKKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZu
RXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7CisgfQorfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjIyLTktNC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAg
KzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItOS01LmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjQuMjItOS01LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTktNS5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSw0NiArMSw0NiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQg
Q29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
DQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
DQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQot
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
DQotaWQ6ICIxNS40LjQuMjItOS01IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktNS5qcyIsDQotDQotZGVzY3JpcHRpb246
ICJBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBjYWxsYmFja2ZuIG5vdCBjYWxsZWQgZm9y
IGFycmF5IHdpdGggb25lIGVsZW1lbnQiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
eyANCi0gDQotICB2YXIgY2FsbENudCA9IDA7DQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZW
YWwsIGN1clZhbCwgaWR4LCBvYmopDQotICB7DQotICAgIGNhbGxDbnQrKzsNCi0gICAgcmV0dXJu
IDI7DQotICB9DQotDQotICB2YXIgYXJyID0gWzFdOw0KLSAgaWYoYXJyLnJlZHVjZVJpZ2h0KGNh
bGxiYWNrZm4pID09PSAxICYmIGNhbGxDbnQgPT09IDAgKQ0KLSAgICByZXR1cm4gdHJ1ZTsgICAg
DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4g
Zm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0KTsNCi0gfQ0KLX0pOw0KKy8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisv
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggeworaWQ6ICIxNS40LjQuMjItOS01IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTUuanMiLAorCitkZXNjcmlwdGlv
bjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGNhbGxiYWNrZm4gbm90IGNhbGxlZCBm
b3IgYXJyYXkgd2l0aCBvbmUgZWxlbWVudCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
eyAKKyAKKyAgdmFyIGNhbGxDbnQgPSAwOworICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWws
IGN1clZhbCwgaWR4LCBvYmopCisgIHsKKyAgICBjYWxsQ250Kys7CisgICAgcmV0dXJuIDI7Cisg
IH0KKworICB2YXIgYXJyID0gWzFdOworICBpZihhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbikg
PT09IDEgJiYgY2FsbENudCA9PT0gMCApCisgICAgcmV0dXJuIHRydWU7ICAgIAorIH0sCisKK3By
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLnJlZHVjZVJpZ2h0KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItOS01
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi05LTYuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi05
LTYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItOS02LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUw
ICsxLDUwIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAN
Ci0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0v
Ly8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQu
NC4yMi05LTYiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1
LjQuNC4yMi8xNS40LjQuMjItOS02LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkFycmF5LnByb3Rv
dHlwZS5yZWR1Y2VSaWdodCB2aXNpdHMgZGVsZXRlZCBlbGVtZW50IGluIGFycmF5IGFmdGVyIHRo
ZSBjYWxsIHdoZW4gc2FtZSBpbmRleCBpcyBhbHNvIHByZXNlbnQgaW4gcHJvdG90eXBlIiwNCi0N
Ci10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQotIA0KLSAgZnVuY3Rpb24gY2FsbGJhY2tm
bihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSAgDQotICB7DQotICAgIGRlbGV0ZSBhcnJbMV07
DQotICAgIGRlbGV0ZSBhcnJbMl07DQotICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOyAgICAN
Ci0gIH0NCi0gIEFycmF5LnByb3RvdHlwZVsyXSA9IDY7DQotICB2YXIgYXJyID0gWycxJywyLDMs
NCw1XTsNCi0gIHZhciByZXMgPSBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQotICBkZWxl
dGUgQXJyYXkucHJvdG90eXBlWzJdOw0KLQ0KLSAgaWYocmVzID09PSAiMTUxIiApICAgIC8vb25l
IGVsZW1lbnQgZGVsZXRlZA0KLSAgICByZXR1cm4gdHJ1ZTsgIA0KLSAgDQotIH0sDQotDQotcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoQXJyYXku
cHJvdG90eXBlLnJlZHVjZVJpZ2h0KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisv
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIx
NS40LjQuMjItOS02IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQv
MTUuNC40LjIyLzE1LjQuNC4yMi05LTYuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3Rv
dHlwZS5yZWR1Y2VSaWdodCB2aXNpdHMgZGVsZXRlZCBlbGVtZW50IGluIGFycmF5IGFmdGVyIHRo
ZSBjYWxsIHdoZW4gc2FtZSBpbmRleCBpcyBhbHNvIHByZXNlbnQgaW4gcHJvdG90eXBlIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAorIAorICBmdW5jdGlvbiBjYWxsYmFja2ZuKHBy
ZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopICAKKyAgeworICAgIGRlbGV0ZSBhcnJbMV07CisgICAg
ZGVsZXRlIGFyclsyXTsKKyAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsgICAgCisgIH0KKyAg
QXJyYXkucHJvdG90eXBlWzJdID0gNjsKKyAgdmFyIGFyciA9IFsnMScsMiwzLDQsNV07CisgIHZh
ciByZXMgPSBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7CisgIGRlbGV0ZSBBcnJheS5wcm90
b3R5cGVbMl07CisKKyAgaWYocmVzID09PSAiMTUxIiApICAgIC8vb25lIGVsZW1lbnQgZGVsZXRl
ZAorICAgIHJldHVybiB0cnVlOyAgCisgIAorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0
KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItOS02LmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4yMi05LWItMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTktYi0xLmpzCShyZXZpc2lvbiAx
OTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNC40LjIyLTktYi0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ0ICsxLDQ0IEBACi0vLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
Rg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQot
DQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNC4yMi05LWItMSIsDQot
DQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQu
NC4yMi05LWItMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNl
UmlnaHQgcmV0dXJucyBpbml0aWFsdmFsdWUgd2hlbiBBcnJheSBpcyBlbXB0eSBhbmQgaW5pdGlh
bFZhbHVlIGlzIG5vdCBwcmVzZW50IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsg
DQotIA0KLSAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0K
LSAgew0KLSAgfQ0KLQ0KLSAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQotICANCi0gIGlmKGFy
ci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLDUpID09PSA1KQ0KLSAgICByZXR1cm4gdHJ1ZTsgIA0K
LSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZu
RXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7DQotIH0NCi19KTsNCisvLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAg
CisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsKK2lkOiAiMTUuNC40LjIyLTktYi0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMS5qcyIsCisKK2Rlc2NyaXB0
aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHJldHVybnMgaW5pdGlhbHZhbHVlIHdo
ZW4gQXJyYXkgaXMgZW1wdHkgYW5kIGluaXRpYWxWYWx1ZSBpcyBub3QgcHJlc2VudCIsCisKK3Rl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAKKyAKKyAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2
VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQorICB7CisgIH0KKworICB2YXIgYXJyID0gbmV3IEFycmF5
KDEwKTsKKyAgCisgIGlmKGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLDUpID09PSA1KQorICAg
IHJldHVybiB0cnVlOyAgCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQpOworIH0KK30p
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjQuNC4yMi05LWItMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40
LjQuMjItOS1jLTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi05LWMtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQor
KysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4y
Mi05LWMtMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NyArMSw0NyBAQAotLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQot
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjItOS1jLTEiLA0KLQ0KLXBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMi8xNS40LjQuMjItOS1j
LTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0g
Y2FsbGJhY2tmbiBub3QgY2FsbGVkIGZvciBpbmRleGVzIG5ldmVyIGJlZW4gYXNzaWduZWQgdmFs
dWVzIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQotIA0KLSAgdmFyIGNhbGxD
bnQgPSAwOw0KLSAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2Jq
KQ0KLSAgew0KLSAgICBjYWxsQ250Kys7DQotICAgIHJldHVybiBjdXJWYWw7DQotICB9DQotDQot
ICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCi0gIGFyclswXSA9IGFyclsxXSA9IHVuZGVmaW5l
ZDsgLy9leHBsaWNpdGx5IGFzc2lnbmluZyBhIHZhbHVlDQotICBpZiggYXJyLnJlZHVjZVJpZ2h0
KGNhbGxiYWNrZm4pID09PSB1bmRlZmluZWQgJiYgY2FsbENudCA9PT0gMSkNCi0gICAgcmV0dXJu
IHRydWU7ICAgIA0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0K
LSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7DQotIH0NCi19
KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAK
Ky8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjIyLTktYy0xIiwKKworcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtMS5qcyIs
CisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gY2FsbGJhY2tm
biBub3QgY2FsbGVkIGZvciBpbmRleGVzIG5ldmVyIGJlZW4gYXNzaWduZWQgdmFsdWVzIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAorIAorICB2YXIgY2FsbENudCA9IDA7CisgIGZ1
bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikKKyAgeworICAgIGNh
bGxDbnQrKzsKKyAgICByZXR1cm4gY3VyVmFsOworICB9CisKKyAgdmFyIGFyciA9IG5ldyBBcnJh
eSgxMCk7CisgIGFyclswXSA9IGFyclsxXSA9IHVuZGVmaW5lZDsgLy9leHBsaWNpdGx5IGFzc2ln
bmluZyBhIHZhbHVlCisgIGlmKCBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbikgPT09IHVuZGVm
aW5lZCAmJiBjYWxsQ250ID09PSAxKQorICAgIHJldHVybiB0cnVlOyAgICAKKyB9LAorCitwcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnBy
b3RvdHlwZS5yZWR1Y2VSaWdodCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTktYy0x
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi05LWMtaWktMS5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjIyLTktYy1paS0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTktYy1paS0xLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDQ3ICsxLDQ3IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
Ci0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsNCi1pZDogIjE1LjQuNC4yMi05LWMtaWktMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMS5qcyIsDQotDQot
ZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBjYWxsYmFja2ZuIGNh
bGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAoaW5pdGlhbHZhbHVlIG5vdCBwYXNzZWQpIiwN
Ci0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQotIA0KLSAgZnVuY3Rpb24gY2FsbGJh
Y2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KLSAgew0KLSAgICBpZihpZHgrMSA8IG9i
ai5sZW5ndGggJiYgb2JqW2lkeF0gPT09IGN1clZhbCAmJiBvYmpbaWR4KzFdID09PSBwcmV2VmFs
KQ0KLSAgICAgIHJldHVybiBjdXJWYWw7DQotICAgIGVsc2UgDQotICAgICAgcmV0dXJuIGZhbHNl
Ow0KLSAgfQ0KLQ0KLSAgdmFyIGFyciA9IFswLDEsdHJ1ZSxudWxsLG5ldyBPYmplY3QoKSwiZml2
ZSJdOw0KLSAgaWYoIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKSA9PT0gMCkgDQotICAgIHJl
dHVybiB0cnVlOw0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0K
LSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCk7DQotIH0NCi19
KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAK
Ky8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVz
cy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40LjIyLTktYy1paS0xIiwKKworcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWkt
MS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gY2Fs
bGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKGluaXRpYWx2YWx1ZSBub3Qg
cGFzc2VkKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAKKyAKKyAgZnVuY3Rpb24g
Y2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQorICB7CisgICAgaWYoaWR4KzEg
PCBvYmoubGVuZ3RoICYmIG9ialtpZHhdID09PSBjdXJWYWwgJiYgb2JqW2lkeCsxXSA9PT0gcHJl
dlZhbCkKKyAgICAgIHJldHVybiBjdXJWYWw7CisgICAgZWxzZSAKKyAgICAgIHJldHVybiBmYWxz
ZTsKKyAgfQorCisgIHZhciBhcnIgPSBbMCwxLHRydWUsbnVsbCxuZXcgT2JqZWN0KCksImZpdmUi
XTsKKyAgaWYoIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKSA9PT0gMCkgCisgICAgcmV0dXJu
IHRydWU7CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVy
biBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQpOworIH0KK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjQuNC4yMi05LWMtaWktMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjIt
OS1jLWlpLTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi05LWMtaWktMi5qcwkocmV2aXNpb24gMTk5NTQ5KQor
KysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4y
Mi05LWMtaWktMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1MSArMSw1MSBAQAotLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
DQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0v
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjQuMjItOS1jLWlpLTIiLA0KLQ0K
LXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMi8xNS40LjQu
MjItOS1jLWlpLTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVj
ZVJpZ2h0IC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKGluaXRp
YWxWYWx1ZSBwYXNzZWQpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQotIA0K
LSAgdmFyIGJQYXJDb3JyZWN0ID0gZmFsc2U7DQotICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZW
YWwsIGN1clZhbCwgaWR4LCBvYmopDQotICB7DQotICAgIGlmKGlkeCA9PT0gb2JqLmxlbmd0aC0x
ICYmIG9ialtpZHhdID09PSBjdXJWYWwgJiYgcHJldlZhbCA9PT0gaW5pdGlhbFZhbHVlKQ0KLSAg
ICAgIHJldHVybiBjdXJWYWw7DQotICAgIGVsc2UgaWYgKGlkeCsxIDwgb2JqLmxlbmd0aCAmJiBv
YmpbaWR4XSA9PT0gY3VyVmFsICYmIG9ialtpZHgrMV0gPT09IHByZXZWYWwpDQotICAgICAgcmV0
dXJuIGN1clZhbDsNCi0gICAgZWxzZQ0KLSAgICAgIHJldHVybiBmYWxzZTsNCi0gIH0NCi0NCi0g
IHZhciBhcnIgPSBbMCwxLHRydWUsbnVsbCxuZXcgT2JqZWN0KCksImZpdmUiXTsNCi0gIHZhciBp
bml0aWFsVmFsdWUgPSA1LjU7DQotICBpZiggYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4saW5p
dGlhbFZhbHVlKSA9PT0gMCkgDQotICAgIHJldHVybiB0cnVlOw0KLSB9LA0KLQ0KLXByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3Rv
dHlwZS5yZWR1Y2VSaWdodCk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNC40
LjIyLTktYy1paS0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQv
MTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiQXJyYXku
cHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBh
cmFtZXRlcnMgKGluaXRpYWxWYWx1ZSBwYXNzZWQpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7IAorIAorICB2YXIgYlBhckNvcnJlY3QgPSBmYWxzZTsKKyAgZnVuY3Rpb24gY2FsbGJh
Y2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQorICB7CisgICAgaWYoaWR4ID09PSBvYmou
bGVuZ3RoLTEgJiYgb2JqW2lkeF0gPT09IGN1clZhbCAmJiBwcmV2VmFsID09PSBpbml0aWFsVmFs
dWUpCisgICAgICByZXR1cm4gY3VyVmFsOworICAgIGVsc2UgaWYgKGlkeCsxIDwgb2JqLmxlbmd0
aCAmJiBvYmpbaWR4XSA9PT0gY3VyVmFsICYmIG9ialtpZHgrMV0gPT09IHByZXZWYWwpCisgICAg
ICByZXR1cm4gY3VyVmFsOworICAgIGVsc2UKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgfQorCisg
IHZhciBhcnIgPSBbMCwxLHRydWUsbnVsbCxuZXcgT2JqZWN0KCksImZpdmUiXTsKKyAgdmFyIGlu
aXRpYWxWYWx1ZSA9IDUuNTsKKyAgaWYoIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLGluaXRp
YWxWYWx1ZSkgPT09IDApIAorICAgIHJldHVybiB0cnVlOworIH0sCisKK3ByZWNvbmRpdGlvbjog
ZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJl
ZHVjZVJpZ2h0KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItOS1jLWlpLTIuanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTktYy1paS0zLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItOS1j
LWlpLTMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjQuMjItOS1jLWlpLTMuanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsNDggKzEsNDggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0K
LS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlk
OiAiMTUuNC40LjIyLTktYy1paS0zIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0zLmpzIiwNCi0NCi1kZXNjcmlw
dGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGNhbGxiYWNrZm4gdGFrZXMgNCBh
cmd1bWVudHMiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCi0gDQotICB2YXIg
YkNhbGxlZCA9IGZhbHNlOw0KLSAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWws
IGlkeCwgb2JqKQ0KLSAgeyANCi0gICAgYkNhbGxlZCA9IHRydWU7DQotICAgIGlmKHByZXZWYWwg
PT09IHRydWUgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gNCkgICANCi0gICAgICByZXR1cm4gdHJ1
ZTsNCi0gICAgZWxzZQ0KLSAgICAgIHJldHVybiBmYWxzZTsNCi0gIH0NCi0gIHZhciBhcnIgPSBb
MCwxLDIsMyw0LDUsNiw3LDgsOV07DQotICBpZihhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbix0
cnVlKSA9PT0gdHJ1ZSAmJiBiQ2FsbGVkID09PSB0cnVlKQ0KLSAgICByZXR1cm4gdHJ1ZTsNCi0g
fSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4
aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQpOw0KLSB9DQotfSk7DQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7CitpZDogIjE1LjQuNC4yMi05LWMtaWktMyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMi8xNS40LjQuMjItOS1jLWlpLTMuanMiLAorCitkZXNj
cmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGNhbGxiYWNrZm4gdGFrZXMg
NCBhcmd1bWVudHMiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCisgCisgIHZhciBi
Q2FsbGVkID0gZmFsc2U7CisgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBp
ZHgsIG9iaikKKyAgeyAKKyAgICBiQ2FsbGVkID0gdHJ1ZTsKKyAgICBpZihwcmV2VmFsID09PSB0
cnVlICYmIGFyZ3VtZW50cy5sZW5ndGggPT09IDQpICAgCisgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICBlbHNlCisgICAgICByZXR1cm4gZmFsc2U7CisgIH0KKyAgdmFyIGFyciA9IFswLDEsMiwzLDQs
NSw2LDcsOCw5XTsKKyAgaWYoYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sdHJ1ZSkgPT09IHRy
dWUgJiYgYkNhbGxlZCA9PT0gdHJ1ZSkKKyAgICByZXR1cm4gdHJ1ZTsKKyB9LAorCitwcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3Rv
dHlwZS5yZWR1Y2VSaWdodCk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTktYy1paS0z
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi05LWMtaWktNC5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40
LjIyLTktYy1paS00LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC40LjIyLTktYy1paS00LmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDQzICsxLDQzIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDEwIE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
Ci0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsNCi1pZDogIjE1LjQuNC4yMi05LWMtaWktNCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMS05LWMtaWktNC5qcyIsDQotDQot
ZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBudWxsIHBhc3NlZCBh
cyB0aGlzIFZhbHVlIHRvIGNhbGxiYWNrZm4iLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgeyANCi0gIHZhciBpbm5lclRoaXNDb3JyZWN0ID0gZmFsc2U7DQotICBmdW5jdGlvbiBjYWxs
YmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQotICB7IA0KLSAgICAgaW5uZXJUaGlz
Q29ycmVjdCA9IHRoaXM9PT1mbkdsb2JhbE9iamVjdCgpOw0KLSAgICAgcmV0dXJuIHRydWU7DQot
ICB9DQotICBbMF0ucmVkdWNlUmlnaHQoY2FsbGJhY2tmbix0cnVlKTsNCi0gIHJldHVybiBpbm5l
clRoaXNDb3JyZWN0OyAgICANCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQpOw0K
LSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAxMCBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
CisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
CisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNC4yMi05LWMtaWktNCIsCisKK3Bh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMi8xNS40LjQuMjEt
OS1jLWlpLTQuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdo
dCAtIG51bGwgcGFzc2VkIGFzIHRoaXMgVmFsdWUgdG8gY2FsbGJhY2tmbiIsCisKK3Rlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgeyAKKyAgdmFyIGlubmVyVGhpc0NvcnJlY3QgPSBmYWxzZTsKKyAg
ZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQorICB7IAorICAg
ICBpbm5lclRoaXNDb3JyZWN0ID0gdGhpcz09PWZuR2xvYmFsT2JqZWN0KCk7CisgICAgIHJldHVy
biB0cnVlOworICB9CisgIFswXS5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLHRydWUpOworICByZXR1
cm4gaW5uZXJUaGlzQ29ycmVjdDsgICAgCisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQp
OworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNC4yMi05LWMtaWktNC5qcwpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS40LjUtMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC41LTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjUtMS5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSwzNiArMSwzNiBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS40LjUtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuNC8xNS40LjUvMTUuNC41LTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiQXJyYXkg
aW5zdGFuY2VzIGhhdmUgW1tDbGFzc11dIHNldCB0byAnQXJyYXknIiwNCi0NCi10ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBhID0gW107DQotICB2YXIgcyA9IE9iamVjdC5wcm90
b3R5cGUudG9TdHJpbmcuY2FsbChhKTsNCi0gIGlmIChzID09PSAnW29iamVjdCBBcnJheV0nKSB7
DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDog
IjE1LjQuNS0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjUvMTUu
NC41LTEuanMiLAorCitkZXNjcmlwdGlvbjogIkFycmF5IGluc3RhbmNlcyBoYXZlIFtbQ2xhc3Nd
XSBzZXQgdG8gJ0FycmF5JyIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIg
YSA9IFtdOworICB2YXIgcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhKTsKKyAg
aWYgKHMgPT09ICdbb2JqZWN0IEFycmF5XScpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0K
K30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjQuNS0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNS4x
LTMuZC0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS40LjUuMS0zLmQtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNS4xLTMuZC0x
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM2ICsxLDM2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0K
LS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjQuNS4xLTMuZC0xIiwNCi0NCi1wYXRoOiAiVGVzdENh
c2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNS8xNS40LjUuMS8xNS40LjUuMS0zLmQtMS5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJUaHJvdyBSYW5nZUVycm9yIGlmIGF0dGVtcHQgdG8gc2V0IGFycmF5
IGxlbmd0aCBwcm9wZXJ0eSB0byA0Mjk0OTY3Mjk2ICgyKiozMikiLA0KLQ0KLXRlc3Q6IGZ1bmN0
aW9uIHRlc3RjYXNlKCkgew0KLSAgdHJ5IHsNCi0gICAgICBbXS5sZW5ndGggPSA0Mjk0OTY3Mjk2
IDsNCi0gIH0gY2F0Y2ggKGUpIHsNCi0gICAgaWYgKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSBy
ZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IK
Ky8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS40LjUu
MS0zLmQtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC41LzE1LjQu
NS4xLzE1LjQuNS4xLTMuZC0xLmpzIiwKKworZGVzY3JpcHRpb246ICJUaHJvdyBSYW5nZUVycm9y
IGlmIGF0dGVtcHQgdG8gc2V0IGFycmF5IGxlbmd0aCBwcm9wZXJ0eSB0byA0Mjk0OTY3Mjk2ICgy
KiozMikiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdHJ5IHsKKyAgICAgIFtd
Lmxlbmd0aCA9IDQyOTQ5NjcyOTYgOworICB9IGNhdGNoIChlKSB7CisgICAgaWYgKGUgaW5zdGFu
Y2VvZiBSYW5nZUVycm9yKSByZXR1cm4gdHJ1ZTsKKyAgfQorIH0KK30pOwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjQuNS4xLTMuZC0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCAr
MSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNS4xLTMuZC0yLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS40LjUuMS0zLmQtMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNS4xLTMuZC0yLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDM2ICsxLDM2IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
Ci0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsNCi1pZDogIjE1LjQuNS4xLTMuZC0yIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIx
NS8xNS40LzE1LjQuNS8xNS40LjUuMS8xNS40LjUuMS0zLmQtMi5qcyIsDQotDQotZGVzY3JpcHRp
b246ICJUaHJvdyBSYW5nZUVycm9yIGlmIGF0dGVtcHQgdG8gc2V0IGFycmF5IGxlbmd0aCBwcm9w
ZXJ0eSB0byA0Mjk0OTY3Mjk3ICgxKzIqKjMyKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7DQotICB0cnkgew0KLSAgICAgIFtdLmxlbmd0aCA9IDQyOTQ5NjcyOTcgOw0KLSAgfSBj
YXRjaCAoZSkgew0KLSAgICBpZiAoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpIHJldHVybiB0cnVl
Ow0KLSAgfQ0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisv
Ly8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNS4xLTMuZC0yIiwK
KworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvMTUuNC41
LjEtMy5kLTIuanMiLAorCitkZXNjcmlwdGlvbjogIlRocm93IFJhbmdlRXJyb3IgaWYgYXR0ZW1w
dCB0byBzZXQgYXJyYXkgbGVuZ3RoIHByb3BlcnR5IHRvIDQyOTQ5NjcyOTcgKDErMioqMzIpIiwK
KwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHRyeSB7CisgICAgICBbXS5sZW5ndGgg
PSA0Mjk0OTY3Mjk3IDsKKyAgfSBjYXRjaCAoZSkgeworICAgIGlmIChlIGluc3RhbmNlb2YgUmFu
Z2VFcnJvcikgcmV0dXJuIHRydWU7CisgIH0KKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjUuMS0z
LmQtMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xG
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjUuMS0zLmQtMy5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC41
LjEtMy5kLTMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjUuMS0zLmQtMy5qcwkod29ya2luZyBjb3B5KQpA
QCAtMSwzNCArMSwzNCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0K
LS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQot
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6
ICIxNS40LjUuMS0zLmQtMyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8x
NS40LjUvMTUuNC41LjEvMTUuNC41LjEtMy5kLTMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU2V0
IGFycmF5IGxlbmd0aCBwcm9wZXJ0eSB0byBtYXggdmFsdWUgNDI5NDk2NzI5NSAoMioqMzItMSwp
IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgIA0KLSAgdmFyIGEgPVtdOw0KLSAg
YS5sZW5ndGggPSA0Mjk0OTY3Mjk1IDsNCi0gIHJldHVybiBhLmxlbmd0aD09PTQyOTQ5NjcyOTUg
Ow0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisv
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisv
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjQuNS4xLTMuZC0zIiwKKworcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvMTUuNC41LjEtMy5k
LTMuanMiLAorCitkZXNjcmlwdGlvbjogIlNldCBhcnJheSBsZW5ndGggcHJvcGVydHkgdG8gbWF4
IHZhbHVlIDQyOTQ5NjcyOTUgKDIqKjMyLTEsKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgeyAgCisgIHZhciBhID1bXTsKKyAgYS5sZW5ndGggPSA0Mjk0OTY3Mjk1IDsKKyAgcmV0dXJu
IGEubGVuZ3RoPT09NDI5NDk2NzI5NSA7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC41LjEtMy5k
LTMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNC41LjEtNS0xLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjUuMS01
LTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS40LjUuMS01LTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzQg
KzEsMzQgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNC41
LjEtNS0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNS8xNS40
LjUuMS8xNS40LjUuMS01LTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiRGVmaW5pbmcgYSBwcm9w
ZXJ0eSBuYW1lZCA0Mjk0OTY3Mjk1ICgyKiozMi0xKShub3QgYW4gYXJyYXkgZWxlbWVudCkiLA0K
LQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAgDQotICB2YXIgYSA9W107DQotICBhWzQy
OTQ5NjcyOTVdID0gIm5vdCBhbiBhcnJheSBlbGVtZW50IiA7DQotICByZXR1cm4gYVs0Mjk0OTY3
Mjk1XSA9PT0gIm5vdCBhbiBhcnJheSBlbGVtZW50IjsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
eworaWQ6ICIxNS40LjUuMS01LTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40
LzE1LjQuNS8xNS40LjUuMS8xNS40LjUuMS01LTEuanMiLAorCitkZXNjcmlwdGlvbjogIkRlZmlu
aW5nIGEgcHJvcGVydHkgbmFtZWQgNDI5NDk2NzI5NSAoMioqMzItMSkobm90IGFuIGFycmF5IGVs
ZW1lbnQpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7ICAKKyAgdmFyIGEgPVtdOwor
ICBhWzQyOTQ5NjcyOTVdID0gIm5vdCBhbiBhcnJheSBlbGVtZW50IiA7CisgIHJldHVybiBhWzQy
OTQ5NjcyOTVdID09PSAibm90IGFuIGFycmF5IGVsZW1lbnQiOworIH0KK30pOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNS4xLTUtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAg
KzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS40LjUuMS01LTIuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjQuNS4xLTUtMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNS4xLTUtMi5qcwkod29ya2luZyBjb3B5
KQpAQCAtMSwzNCArMSwzNCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29y
cG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
DQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQot
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQot
aWQ6ICIxNS40LjUuMS01LTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQv
MTUuNC41LzE1LjQuNS4xLzE1LjQuNS4xLTUtMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJEZWZp
bmluZyBhIHByb3BlcnR5IG5hbWVkIDQyOTQ5NjcyOTUgKDIqKjMyLTEpIGRvZXNuJ3QgY2hhbmdl
IGxlbmd0aCBvZiB0aGUgYXJyYXkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAg
DQotICB2YXIgYSA9WzAsMSwyXTsNCi0gIGFbNDI5NDk2NzI5NV0gPSAibm90IGFuIGFycmF5IGVs
ZW1lbnQiIDsNCi0gIHJldHVybiBhLmxlbmd0aD09PTM7DQotIH0NCi19KTsNCisvLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisv
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3Qo
IHsKK2lkOiAiMTUuNC41LjEtNS0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NC8xNS40LjUvMTUuNC41LjEvMTUuNC41LjEtNS0yLmpzIiwKKworZGVzY3JpcHRpb246ICJEZWZp
bmluZyBhIHByb3BlcnR5IG5hbWVkIDQyOTQ5NjcyOTUgKDIqKjMyLTEpIGRvZXNuJ3QgY2hhbmdl
IGxlbmd0aCBvZiB0aGUgYXJyYXkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgIAor
ICB2YXIgYSA9WzAsMSwyXTsKKyAgYVs0Mjk0OTY3Mjk1XSA9ICJub3QgYW4gYXJyYXkgZWxlbWVu
dCIgOworICByZXR1cm4gYS5sZW5ndGg9PT0zOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjQuNS4x
LTUtMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xG
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtMC0xLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQu
MjAtMC0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTAtMS5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSwzNSArMSwzNSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIx
NS41LjQuMjAtMC0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUu
NC8xNS41LjQuMjAvMTUuNS40LjIwLTAtMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJTdHJpbmcu
cHJvdG90eXBlLnRyaW0gbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIiwNCi0NCi10ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBmID0gU3RyaW5nLnByb3RvdHlwZS50cmltOw0KLSAg
aWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0N
Ci0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitF
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS41LjQuMjAtMC0xIiwKKworcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0wLTEu
anMiLAorCitkZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSBtdXN0IGV4aXN0IGFz
IGEgZnVuY3Rpb24iLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGYgPSBT
dHJpbmcucHJvdG90eXBlLnRyaW07CisgIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsK
KyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC0wLTEu
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTAtMi5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTAt
Mi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC0wLTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzgg
KzEsMzggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0K
LS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
DQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8v
LyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNS40
LjIwLTAtMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUu
NS40LjIwLzE1LjUuNC4yMC0wLTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3Rv
dHlwZS50cmltIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMCBwYXJhbWV0ZXJzIiwN
Ci0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmIChTdHJpbmcucHJvdG90eXBl
LnRyaW0ubGVuZ3RoID09PSAwKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0K
LXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKFN0
cmluZy5wcm90b3R5cGUudHJpbSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MK
Ky8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUu
NS40LjIwLTAtMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS40LzE1
LjUuNC4yMC8xNS41LjQuMjAtMC0yLmpzIiwKKworZGVzY3JpcHRpb246ICJTdHJpbmcucHJvdG90
eXBlLnRyaW0gbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAwIHBhcmFtZXRlcnMiLAor
Cit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgaWYgKFN0cmluZy5wcm90b3R5cGUudHJp
bS5sZW5ndGggPT09IDApIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoU3RyaW5nLnByb3Rv
dHlwZS50cmltKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtMC0yLmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjUuNC4yMC0xLTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC0xLTEuanMJKHJldmlz
aW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS41LjQuMjAtMS0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ0ICsxLDQ0IEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjUuNC4yMC0xLTEiLA0K
LQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS40LzE1LjUuNC4yMC8xNS41
LjQuMjAtMS0xLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSB0
aHJvd3MgVHlwZUVycm9yIHdoZW4gc3RyaW5nIGlzIHVuZGVmaW5lZCIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotICB0cnkNCi0gIHsNCi0gICAgU3RyaW5nLnByb3RvdHlwZS50
cmltLmNhbGwodW5kZWZpbmVkKTsgIA0KLSAgfQ0KLSAgY2F0Y2goZSkNCi0gIHsNCi0gICAgaWYo
ZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCi0gICAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwN
Ci0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0
cyhTdHJpbmcucHJvdG90eXBlLnRyaW0pOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDog
IjE1LjUuNC4yMC0xLTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUu
NC8xNS41LjQuMjAvMTUuNS40LjIwLTEtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiU3RyaW5nLnBy
b3RvdHlwZS50cmltIHRocm93cyBUeXBlRXJyb3Igd2hlbiBzdHJpbmcgaXMgdW5kZWZpbmVkIiwK
KwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHRyeQorICB7CisgICAgU3RyaW5nLnBy
b3RvdHlwZS50cmltLmNhbGwodW5kZWZpbmVkKTsgIAorICB9CisgIGNhdGNoKGUpCisgIHsKKyAg
ICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQorICAgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9
LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3Rz
KFN0cmluZy5wcm90b3R5cGUudHJpbSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTEt
MS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtMS0yLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAt
MS0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTEtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0
NCArMSw0NCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
DQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQot
Ly8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS41
LjQuMjAtMS0yIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8x
NS41LjQuMjAvMTUuNS40LjIwLTEtMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJTdHJpbmcucHJv
dG90eXBlLnRyaW0gdGhyb3dzIFR5cGVFcnJvciB3aGVuIHN0cmluZyBpcyBudWxsIiwNCi0NCi10
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHRyeQ0KLSAgew0KLSAgICBTdHJpbmcucHJv
dG90eXBlLnRyaW0uY2FsbChudWxsKTsgIA0KLSAgfQ0KLSAgY2F0Y2goZSkNCi0gIHsNCi0gICAg
aWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCi0gICAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0g
fSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4
aXN0cyhTdHJpbmcucHJvdG90eXBlLnRyaW0pOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7Citp
ZDogIjE1LjUuNC4yMC0xLTIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1
LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTEtMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiU3RyaW5n
LnByb3RvdHlwZS50cmltIHRocm93cyBUeXBlRXJyb3Igd2hlbiBzdHJpbmcgaXMgbnVsbCIsCisK
K3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB0cnkKKyAgeworICAgIFN0cmluZy5wcm90
b3R5cGUudHJpbS5jYWxsKG51bGwpOyAgCisgIH0KKyAgY2F0Y2goZSkKKyAgeworICAgIGlmKGUg
aW5zdGFuY2VvZiBUeXBlRXJyb3IpCisgICAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3By
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoU3RyaW5n
LnByb3RvdHlwZS50cmltKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtMS0yLmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC0xLTMuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC0xLTMuanMJ
KHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS41LjQuMjAtMS0zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQzICsxLDQz
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjUuNC4yMC0x
LTMiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS40LzE1LjUuNC4y
MC8xNS41LjQuMjAtMS0zLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUu
dHJpbSB3b3JrcyBmb3IgcHJpbWl0aXZlIHR5cGUgYm9vbGVhbiIsDQotDQotdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7DQotICB0cnkNCi0gIHsNCi0gICAgaWYoU3RyaW5nLnByb3RvdHlwZS50
cmltLmNhbGwodHJ1ZSkgPT0gInRydWUiKQ0KLSAgICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSAg
Y2F0Y2goZSkNCi0gIHsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhTdHJpbmcucHJvdG90eXBlLnRyaW0pOw0KLSB9
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjUuNC4yMC0xLTMiLAorCitwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTEtMy5qcyIs
CisKK2Rlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3RvdHlwZS50cmltIHdvcmtzIGZvciBwcmltaXRp
dmUgdHlwZSBib29sZWFuIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHRyeQor
ICB7CisgICAgaWYoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwodHJ1ZSkgPT0gInRydWUiKQor
ICAgICAgcmV0dXJuIHRydWU7CisgIH0KKyAgY2F0Y2goZSkKKyAgeworICB9CisgfSwKKworcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhTdHJpbmcu
cHJvdG90eXBlLnRyaW0pOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC0xLTMuanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTEtNC5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTEtNC5qcwko
cmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjUuNC4yMC0xLTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDMgKzEsNDMg
QEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyAN
Ci0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0v
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNS40LjIwLTEt
NCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIw
LzE1LjUuNC4yMC0xLTQuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3RvdHlwZS50
cmltIHdvcmtzIGZvciBwcmltaXRpdmUgdHlwZSBudW1iZXIiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgew0KLSAgdHJ5DQotICB7DQotICAgIGlmKFN0cmluZy5wcm90b3R5cGUudHJp
bS5jYWxsKDApID09ICIwIikgDQotICAgICAgcmV0dXJuIHRydWU7DQotICB9DQotICBjYXRjaChl
KQ0KLSAgew0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
ew0KLSAgcmV0dXJuIGZuRXhpc3RzKFN0cmluZy5wcm90b3R5cGUudHJpbSk7DQotIH0NCi19KTsN
CisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNS40LjIwLTEtNCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjUvMTUuNS40LzE1LjUuNC4yMC8xNS41LjQuMjAtMS00LmpzIiwKKworZGVz
Y3JpcHRpb246ICJTdHJpbmcucHJvdG90eXBlLnRyaW0gd29ya3MgZm9yIHByaW1pdGl2ZSB0eXBl
IG51bWJlciIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB0cnkKKyAgeworICAg
IGlmKFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKDApID09ICIwIikgCisgICAgICByZXR1cm4g
dHJ1ZTsKKyAgfQorICBjYXRjaChlKQorICB7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKFN0cmluZy5wcm90b3R5cGUudHJp
bSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTEtNC5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS41LjQuMjAtMS01LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtMS01LmpzCShyZXZpc2lvbiAxOTk1
NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NS40LjIwLTEtNS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MyArMSw0MyBAQAotLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
DQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0v
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS41LjQuMjAtMS01IiwNCi0NCi1wYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTEt
NS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJTdHJpbmcucHJvdG90eXBlLnRyaW0gd29ya3MgZm9y
IGFuIE9iamVjdCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB0cnkNCi0g
IHsNCi0gICAgaWYoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoe30pPT0iW29iamVjdCBPYmpl
Y3RdIikNCi0gICAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gIGNhdGNoKGUpDQotICB7DQotICB9
DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4g
Zm5FeGlzdHMoU3RyaW5nLnByb3RvdHlwZS50cmltKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
eworaWQ6ICIxNS41LjQuMjAtMS01IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTUuanMiLAorCitkZXNjcmlwdGlvbjogIlN0
cmluZy5wcm90b3R5cGUudHJpbSB3b3JrcyBmb3IgYW4gT2JqZWN0IiwKKwordGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7CisgIHRyeQorICB7CisgICAgaWYoU3RyaW5nLnByb3RvdHlwZS50cmlt
LmNhbGwoe30pPT0iW29iamVjdCBPYmplY3RdIikKKyAgICAgIHJldHVybiB0cnVlOworICB9Cisg
IGNhdGNoKGUpCisgIHsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgeworICByZXR1cm4gZm5FeGlzdHMoU3RyaW5nLnByb3RvdHlwZS50cmltKTsKKyB9Cit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS41LjQuMjAtMS01LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4y
MC0xLTYuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjUuNC4yMC0xLTYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtMS02Lmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQzICsxLDQzIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8v
LyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsNCi1pZDogIjE1LjUuNC4yMC0xLTYiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjUvMTUuNS40LzE1LjUuNC4yMC8xNS41LjQuMjAtMS02LmpzIiwNCi0NCi1k
ZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSB3b3JrcyBmb3IgYW4gU3RyaW5nIiwN
Ci0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHRyeQ0KLSAgew0KLSAgICBpZihT
dHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChuZXcgU3RyaW5nKCkpID09ICIiKQ0KLSAgICAgIHJl
dHVybiB0cnVlOw0KLSAgfQ0KLSAgY2F0Y2goZSkNCi0gIHsNCi0gIH0NCi0gfSwNCi0NCi1wcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhTdHJpbmcu
cHJvdG90eXBlLnRyaW0pOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjUuNC4y
MC0xLTYiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41LjQu
MjAvMTUuNS40LjIwLTEtNi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3RvdHlwZS50
cmltIHdvcmtzIGZvciBhbiBTdHJpbmciLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsK
KyAgdHJ5CisgIHsKKyAgICBpZihTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChuZXcgU3RyaW5n
KCkpID09ICIiKQorICAgICAgcmV0dXJuIHRydWU7CisgIH0KKyAgY2F0Y2goZSkKKyAgeworICB9
CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4
aXN0cyhTdHJpbmcucHJvdG90eXBlLnRyaW0pOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4y
MC0xLTYuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitM
RgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTEtNy5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40
LjIwLTEtNy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC0xLTcuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsNDMgKzEsNDMgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
Lg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAi
MTUuNS40LjIwLTEtNyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41
LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTcuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU3RyaW5n
LnByb3RvdHlwZS50cmltIHdvcmtzIGZvciBhIHByaW1pdGl2ZSBzdHJpbmciLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdHJ5DQotICB7DQotICAgIGlmKFN0cmluZy5wcm90
b3R5cGUudHJpbS5jYWxsKCJhYmMiKSA9PT0gImFiYyIpICANCi0gICAgICByZXR1cm4gdHJ1ZTsN
Ci0gIH0NCi0gIGNhdGNoKGUpDQotICB7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoU3RyaW5nLnByb3RvdHlwZS50
cmltKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8v
IAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS41LjQuMjAtMS03IiwKKwor
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4y
MC0xLTcuanMiLAorCitkZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSB3b3JrcyBm
b3IgYSBwcmltaXRpdmUgc3RyaW5nIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7Cisg
IHRyeQorICB7CisgICAgaWYoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoImFiYyIpID09PSAi
YWJjIikgIAorICAgICAgcmV0dXJuIHRydWU7CisgIH0KKyAgY2F0Y2goZSkKKyAgeworICB9Cisg
fSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0
cyhTdHJpbmcucHJvdG90eXBlLnRyaW0pOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC0x
LTcuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMS5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIw
LTQtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
NDIgKzEsNDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUu
NS40LjIwLTQtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjQv
MTUuNS40LjIwLzE1LjUuNC4yMC00LTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU3RyaW5nLnBy
b3RvdHlwZS50cmltIGhhbmRsZXMgbXVsdGlsaW5lIHN0cmluZyB3aXRoIHdoaXRlcGFjZSBhbmQg
bGluZXRlcm1pbmF0b3JzIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi12YXIg
cyA9ICJcdTAwMDlhIGJcDQotYyBcdTAwMDkiDQotDQotICAgICAgICAgICAgDQotICBpZiAocy50
cmltKCkgPT09ICJhIGJjIikgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1w
cmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhTdHJp
bmcucHJvdG90eXBlLnRyaW0pOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisv
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjUu
NC4yMC00LTEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41
LjQuMjAvMTUuNS40LjIwLTQtMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3RvdHlw
ZS50cmltIGhhbmRsZXMgbXVsdGlsaW5lIHN0cmluZyB3aXRoIHdoaXRlcGFjZSBhbmQgbGluZXRl
cm1pbmF0b3JzIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7Cit2YXIgcyA9ICJcdTAw
MDlhIGJcCitjIFx1MDAwOSIKKworICAgICAgICAgICAgCisgIGlmIChzLnRyaW0oKSA9PT0gImEg
YmMiKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKFN0cmluZy5wcm90b3R5cGUudHJpbSk7
CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMS5qcwpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS41LjQuMjAtNC0xMC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMTAuanMJKHJldmlzaW9uIDE5OTU0
OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41
LjQuMjAtNC0xMC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
DQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0v
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS41LjQuMjAtNC0xMCIsDQotDQotcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00
LTEwLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVz
IHdoaXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChcXHVGRUZGYWJjKSIsDQotDQotdGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBpZiAoIlx1RkVGRmFiYyIudHJpbSgpID09PSAiYWJj
Iikgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhTdHJpbmcucHJvdG90eXBlLnRy
aW0pOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
CisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8g
CisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjUuNC4yMC00LTEwIiwKKwor
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4y
MC00LTEwLmpzIiwKKworZGVzY3JpcHRpb246ICJTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxl
cyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXFx1RkVGRmFiYykiLAorCit0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgaWYgKCJcdUZFRkZhYmMiLnRyaW0oKSA9PT0gImFiYyIp
IHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoU3RyaW5nLnByb3RvdHlwZS50cmltKTsKKyB9
Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0xMC5qcwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS41LjQuMjAtNC0xMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMTEuanMJKHJldmlzaW9uIDE5OTU0OSkK
KysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQu
MjAtNC0xMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQot
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS41LjQuMjAtNC0xMSIsDQotDQotcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTEx
LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdo
aXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChhYmNcXHUwMDA5KSIsDQotDQotdGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7DQotICBpZiAoImFiY1x1MDAwOSIudHJpbSgpID09PSAiYWJjIikg
ew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhTdHJpbmcucHJvdG90eXBlLnRyaW0p
Ow0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisv
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisv
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisK
K0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjUuNC4yMC00LTExIiwKKworcGF0
aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00
LTExLmpzIiwKKworZGVzY3JpcHRpb246ICJTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3
aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJjXFx1MDAwOSkiLAorCit0ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsKKyAgaWYgKCJhYmNcdTAwMDkiLnRyaW0oKSA9PT0gImFiYyIpIHsK
KyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJl
cmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoU3RyaW5nLnByb3RvdHlwZS50cmltKTsKKyB9Cit9
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0xMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41
LjQuMjAtNC0xMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAt
NC0xMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS41LjQuMjAtNC0xMiIsDQotDQotcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTEyLmpz
IiwNCi0NCi1kZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRl
cGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChhYmNcXHUwMDBCKSIsDQotDQotdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7DQotICBpZiAoImFiY1x1MDAwQiIudHJpbSgpID09PSAiYWJjIikgew0K
LSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhTdHJpbmcucHJvdG90eXBlLnRyaW0pOw0K
LSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
CisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
CisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjUuNC4yMC00LTEyIiwKKworcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTEy
LmpzIiwKKworZGVzY3JpcHRpb246ICJTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0
ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJjXFx1MDAwQikiLAorCit0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsKKyAgaWYgKCJhYmNcdTAwMEIiLnRyaW0oKSA9PT0gImFiYyIpIHsKKyAg
ICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgeworICByZXR1cm4gZm5FeGlzdHMoU3RyaW5nLnByb3RvdHlwZS50cmltKTsKKyB9Cit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0xMi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQu
MjAtNC0xMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMTMuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0x
My5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS41LjQuMjAtNC0xMyIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTEzLmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFj
ZSBhbmQgbGluZXRlcm1pbmF0b3JzIChhYmNcXHUwMDBDKSIsDQotDQotdGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7DQotICBpZiAoImFiY1x1MDAwQyIudHJpbSgpID09PSAiYWJjIikgew0KLSAg
ICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhTdHJpbmcucHJvdG90eXBlLnRyaW0pOw0KLSB9
DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisv
Ly8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAor
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAg
ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisv
Ly8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjUuNC4yMC00LTEzIiwKKworcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTEzLmpz
IiwKKworZGVzY3JpcHRpb246ICJTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBh
Y2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJjXFx1MDAwQykiLAorCit0ZXN0OiBmdW5jdGlvbiB0
ZXN0Y2FzZSgpIHsKKyAgaWYgKCJhYmNcdTAwMEMiLnRyaW0oKSA9PT0gImFiYyIpIHsKKyAgICBy
ZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
eworICByZXR1cm4gZm5FeGlzdHMoU3RyaW5nLnByb3RvdHlwZS50cmltKTsKKyB9Cit9KTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS41LjQuMjAtNC0xMy5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAt
NC0xNC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMTQuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0xNC5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS41LjQuMjAtNC0xNCIsDQotDQotcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTE0LmpzIiwNCi0N
Ci1kZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBh
bmQgbGluZXRlcm1pbmF0b3JzIChhYmNcXHUwMDIwKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7DQotICBpZiAoImFiY1x1MDAyMCIudHJpbSgpID09PSAiYWJjIikgew0KLSAgICBy
ZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhTdHJpbmcucHJvdG90eXBlLnRyaW0pOw0KLSB9DQot
fSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8g
CisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwK
Ky8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjUuNC4yMC00LTE0IiwKKworcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTE0LmpzIiwK
KworZGVzY3JpcHRpb246ICJTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2Ug
YW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJjXFx1MDAyMCkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsKKyAgaWYgKCJhYmNcdTAwMjAiLnRyaW0oKSA9PT0gImFiYyIpIHsKKyAgICByZXR1
cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewor
ICByZXR1cm4gZm5FeGlzdHMoU3RyaW5nLnByb3RvdHlwZS50cmltKTsKKyB9Cit9KTsKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS41LjQuMjAtNC0xNC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMj
IC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0x
Ni5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNS40LjIwLTQtMTYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0xNi5qcwko
d29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8g
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7DQotaWQ6ICIxNS41LjQuMjAtNC0xNiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTE2LmpzIiwNCi0NCi1k
ZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQg
bGluZXRlcm1pbmF0b3JzIChhYmNcXHUwMEEwKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7DQotICBpZiAoImFiY1x1MDBBMCIudHJpbSgpID09PSAiYWJjIikgew0KLSAgICByZXR1
cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsNCi0gIHJldHVybiBmbkV4aXN0cyhTdHJpbmcucHJvdG90eXBlLnRyaW0pOw0KLSB9DQotfSk7
DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisv
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjUuNC4yMC00LTE2IiwKKworcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTE2LmpzIiwKKwor
ZGVzY3JpcHRpb246ICJTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5k
IGxpbmV0ZXJtaW5hdG9ycyAoYWJjXFx1MDBBMCkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKyAgaWYgKCJhYmNcdTAwQTAiLnRyaW0oKSA9PT0gImFiYyIpIHsKKyAgICByZXR1cm4g
dHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICBy
ZXR1cm4gZm5FeGlzdHMoU3RyaW5nLnByb3RvdHlwZS50cmltKTsKKyB9Cit9KTsKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS41LjQuMjAtNC0xNi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w
LDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0xOC5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0
Q2FzZXMvMTUuNS40LjIwLTQtMTguanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0xOC5qcwkod29y
a2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0K
LS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJU
ZXN0KCB7DQotaWQ6ICIxNS41LjQuMjAtNC0xOCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTE4LmpzIiwNCi0NCi1kZXNj
cmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQgbGlu
ZXRlcm1pbmF0b3JzIChhYmNcXHVGRUZGKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotICBpZiAoImFiY1x1RkVGRiIudHJpbSgpID09PSAiYWJjIikgew0KLSAgICByZXR1cm4g
dHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsN
Ci0gIHJldHVybiBmbkV4aXN0cyhTdHJpbmcucHJvdG90eXBlLnRyaW0pOw0KLSB9DQotfSk7DQor
Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVn
aXN0ZXJUZXN0KCB7CitpZDogIjE1LjUuNC4yMC00LTE4IiwKKworcGF0aDogIlRlc3RDYXNlcy9j
aGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTE4LmpzIiwKKworZGVz
Y3JpcHRpb246ICJTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxp
bmV0ZXJtaW5hdG9ycyAoYWJjXFx1RkVGRikiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsKKyAgaWYgKCJhYmNcdUZFRkYiLnRyaW0oKSA9PT0gImFiYyIpIHsKKyAgICByZXR1cm4gdHJ1
ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1
cm4gZm5FeGlzdHMoU3RyaW5nLnByb3RvdHlwZS50cmltKTsKKyB9Cit9KTsKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS41LjQuMjAtNC0xOC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAg
KzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0xOS5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNS40LjIwLTQtMTkuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0xOS5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
DQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7DQotaWQ6ICIxNS41LjQuMjAtNC0xOSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTE5LmpzIiwNCi0NCi1kZXNjcmlw
dGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQgbGluZXRl
cm1pbmF0b3JzIChcXHUwMDA5YWJjXFx1MDAwOSkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgew0KLSAgaWYgKCJcdTAwMDlhYmNcdTAwMDkiLnRyaW0oKSA9PT0gImFiYyIpIHsNCi0g
ICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBw
cmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoU3RyaW5nLnByb3RvdHlwZS50cmltKTsNCi0g
fQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAor
Ly8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQK
Ky8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgor
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS41LjQuMjAtNC0xOSIsCisKK3BhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS40LzE1LjUuNC4yMC8xNS41LjQuMjAtNC0xOS5q
cyIsCisKK2Rlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVw
YWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFxcdTAwMDlhYmNcXHUwMDA5KSIsCisKK3Rlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZiAoIlx1MDAwOWFiY1x1MDAwOSIudHJpbSgpID09PSAi
YWJjIikgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhTdHJpbmcucHJvdG90eXBlLnRyaW0p
OworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTE5LmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjUuNC4yMC00LTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTIuanMJKHJldmlzaW9uIDE5OTU0
OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41
LjQuMjAtNC0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM4ICsxLDM4IEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjUuNC4yMC00LTIiLA0KLQ0KLXBhdGg6
ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS40LzE1LjUuNC4yMC8xNS41LjQuMjAtNC0y
LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdo
aXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzICggXFx1MDAwOWFiYyBcXHUwMDA5KSIsDQotDQot
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBpZiAoIiBcdTAwMDlhYmMgXHUwMDA5Ii50
cmltKCkgPT09ICJhYmMiKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKFN0cmlu
Zy5wcm90b3R5cGUudHJpbSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNS40
LjIwLTQtMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS40LzE1LjUu
NC4yMC8xNS41LjQuMjAtNC0yLmpzIiwKKworZGVzY3JpcHRpb246ICJTdHJpbmcucHJvdG90eXBl
LnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoIFxcdTAwMDlhYmMg
XFx1MDAwOSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgaWYgKCIgXHUwMDA5
YWJjIFx1MDAwOSIudHJpbSgpID09PSAiYWJjIikgeworICAgIHJldHVybiB0cnVlOworICB9Cisg
fSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0
cyhTdHJpbmcucHJvdG90eXBlLnRyaW0pOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00
LTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMjAuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4y
MC00LTIwLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMjAuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsMzggKzEsMzggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAg
ICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
Lg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8v
LyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAi
MTUuNS40LjIwLTQtMjAiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUu
NS40LzE1LjUuNC4yMC8xNS41LjQuMjAtNC0yMC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJTdHJp
bmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAo
XFx1MDAwQmFiY1xcdTAwMEIpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0g
IGlmICgiXHUwMDBCYWJjXHUwMDBCIi50cmltKCkgPT09ICJhYmMiKSB7DQotICAgIHJldHVybiB0
cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0K
LSAgcmV0dXJuIGZuRXhpc3RzKFN0cmluZy5wcm90b3R5cGUudHJpbSk7DQotIH0NCi19KTsNCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsKK2lkOiAiMTUuNS40LjIwLTQtMjAiLAorCitwYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMjAuanMiLAorCitkZXNj
cmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQgbGlu
ZXRlcm1pbmF0b3JzIChcXHUwMDBCYWJjXFx1MDAwQikiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsKKyAgaWYgKCJcdTAwMEJhYmNcdTAwMEIiLnRyaW0oKSA9PT0gImFiYyIpIHsKKyAg
ICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgeworICByZXR1cm4gZm5FeGlzdHMoU3RyaW5nLnByb3RvdHlwZS50cmltKTsKKyB9Cit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0yMC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQu
MjAtNC0yMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMjEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0y
MS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS41LjQuMjAtNC0yMSIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTIxLmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFj
ZSBhbmQgbGluZXRlcm1pbmF0b3JzIChcXHUwMDBDYWJjXFx1MDAwQykiLA0KLQ0KLXRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgaWYgKCJcdTAwMENhYmNcdTAwMEMiLnRyaW0oKSA9PT0g
ImFiYyIpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoU3RyaW5nLnByb3RvdHlw
ZS50cmltKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
Ly8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS41LjQuMjAtNC0yMSIs
CisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS40LzE1LjUuNC4yMC8xNS41
LjQuMjAtNC0yMS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3RvdHlwZS50cmltIGhh
bmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFxcdTAwMENhYmNcXHUwMDBDKSIs
CisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZiAoIlx1MDAwQ2FiY1x1MDAwQyIu
dHJpbSgpID09PSAiYWJjIikgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhTdHJpbmcucHJv
dG90eXBlLnRyaW0pOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTIxLmpzCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTIyLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0yMi5qcwko
cmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjUuNC4yMC00LTIyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM4ICsxLDM4
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjUuNC4yMC00
LTIyIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41LjQu
MjAvMTUuNS40LjIwLTQtMjIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3RvdHlw
ZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFxcdTAwMjBhYmNc
XHUwMDIwKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBpZiAoIlx1MDAy
MGFiY1x1MDAyMCIudHJpbSgpID09PSAiYWJjIikgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0N
Ci0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBm
bkV4aXN0cyhTdHJpbmcucHJvdG90eXBlLnRyaW0pOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
CitpZDogIjE1LjUuNC4yMC00LTIyIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTIyLmpzIiwKKworZGVzY3JpcHRpb246ICJT
dHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9y
cyAoXFx1MDAyMGFiY1xcdTAwMjApIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7Cisg
IGlmICgiXHUwMDIwYWJjXHUwMDIwIi50cmltKCkgPT09ICJhYmMiKSB7CisgICAgcmV0dXJuIHRy
dWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0
dXJuIGZuRXhpc3RzKFN0cmluZy5wcm90b3R5cGUudHJpbSk7CisgfQorfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNS40LjIwLTQtMjIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMjQuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjUuNC4yMC00LTI0LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMjQuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsMzggKzEsMzggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggew0KLWlkOiAiMTUuNS40LjIwLTQtMjQiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjUvMTUuNS40LzE1LjUuNC4yMC8xNS41LjQuMjAtNC0yNC5qcyIsDQotDQotZGVzY3Jp
cHRpb246ICJTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0
ZXJtaW5hdG9ycyAoXFx1MDBBMGFiY1xcdTAwQTApIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsNCi0gIGlmICgiXHUwMEEwYWJjXHUwMEEwIi50cmltKCkgPT09ICJhYmMiKSB7DQot
ICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKFN0cmluZy5wcm90b3R5cGUudHJpbSk7DQot
IH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAK
Ky8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
CisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYK
Ky8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNS40LjIwLTQtMjQiLAorCitwYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMjQu
anMiLAorCitkZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRl
cGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChcXHUwMEEwYWJjXFx1MDBBMCkiLAorCit0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgaWYgKCJcdTAwQTBhYmNcdTAwQTAiLnRyaW0oKSA9PT0g
ImFiYyIpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoU3RyaW5nLnByb3RvdHlwZS50cmlt
KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0yNC5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS41LjQuMjAtNC0yNy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMjcuanMJKHJldmlzaW9uIDE5
OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS41LjQuMjAtNC0yNy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYN
Ci0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0K
LUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS41LjQuMjAtNC0yNyIsDQotDQot
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4y
MC00LTI3LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5k
bGVzIHdoaXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChcXHUwMDA5XFx1MDAwOSkiLA0KLQ0K
LXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgaWYgKCJcdTAwMDlcdTAwMDkiLnRyaW0o
KSA9PT0gIiIpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoU3RyaW5nLnByb3Rv
dHlwZS50cmltKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS41LjQuMjAtNC0y
NyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS40LzE1LjUuNC4yMC8x
NS41LjQuMjAtNC0yNy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3RvdHlwZS50cmlt
IGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFxcdTAwMDlcXHUwMDA5KSIs
CisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZiAoIlx1MDAwOVx1MDAwOSIudHJp
bSgpID09PSAiIikgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhTdHJpbmcucHJvdG90eXBl
LnRyaW0pOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTI3LmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjUuNC4yMC00LTI4LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0yOC5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjUuNC4yMC00LTI4LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM4ICsxLDM4IEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjUuNC4yMC00LTI4IiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUu
NS40LjIwLTQtMjguanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3RvdHlwZS50cmlt
IGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFxcdTAwMEJcXHUwMDBCKSIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBpZiAoIlx1MDAwQlx1MDAwQiIu
dHJpbSgpID09PSAiIikgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVj
b25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhTdHJpbmcu
cHJvdG90eXBlLnRyaW0pOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNy
b3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgor
Ly8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjUuNC4y
MC00LTI4IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40
LjIwLzE1LjUuNC4yMC00LTI4LmpzIiwKKworZGVzY3JpcHRpb246ICJTdHJpbmcucHJvdG90eXBl
LnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXFx1MDAwQlxcdTAw
MEIpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGlmICgiXHUwMDBCXHUwMDBC
Ii50cmltKCkgPT09ICIiKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25k
aXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKFN0cmluZy5wcm90
b3R5cGUudHJpbSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMjguanMKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMjkuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTI5LmpzCShy
ZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNS40LjIwLTQtMjkuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzggKzEsMzgg
QEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyAN
Ci0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8v
ICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0v
Ly8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNS40LjIwLTQt
MjkiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS40LzE1LjUuNC4y
MC8xNS41LjQuMjAtNC0yOS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJTdHJpbmcucHJvdG90eXBl
LnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXFx1MDAwQ1xcdTAw
MEMpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmICgiXHUwMDBDXHUw
MDBDIi50cmltKCkgPT09ICIiKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0K
LXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKFN0
cmluZy5wcm90b3R5cGUudHJpbSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MK
Ky8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUu
NS40LjIwLTQtMjkiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8x
NS41LjQuMjAvMTUuNS40LjIwLTQtMjkuanMiLAorCitkZXNjcmlwdGlvbjogIlN0cmluZy5wcm90
b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChcXHUwMDBD
XFx1MDAwQykiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgaWYgKCJcdTAwMENc
dTAwMEMiLnRyaW0oKSA9PT0gIiIpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3By
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoU3RyaW5n
LnByb3RvdHlwZS50cmltKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0yOS5qcwpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0zLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0zLmpz
CShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwz
OCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8v
IA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQot
Ly8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0v
Ly8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0K
LS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS41LjQuMjAt
NC0zIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41LjQu
MjAvMTUuNS40LjIwLTQtMy5qcyIsDQotDQotZGVzY3JpcHRpb246ICJTdHJpbmcucHJvdG90eXBl
LnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXFx1MDAwOWFiYyki
LA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgaWYgKCJcdTAwMDlhYmMiLnRy
aW0oKSA9PT0gImFiYyIpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoU3RyaW5n
LnByb3RvdHlwZS50cmltKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IK
Ky8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8v
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS41LjQu
MjAtNC0zIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40
LjIwLzE1LjUuNC4yMC00LTMuanMiLAorCitkZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUu
dHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChcXHUwMDA5YWJjKSIs
CisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZiAoIlx1MDAwOWFiYyIudHJpbSgp
ID09PSAiYWJjIikgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhTdHJpbmcucHJvdG90eXBl
LnRyaW0pOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTMuanMKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNS40LjIwLTQtMzAuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTMwLmpzCShyZXZpc2lv
biAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNS40LjIwLTQtMzAuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzggKzEsMzggQEAKLS8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNS40LjIwLTQtMzAiLA0K
LQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS40LzE1LjUuNC4yMC8xNS41
LjQuMjAtNC0zMC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJTdHJpbmcucHJvdG90eXBlLnRyaW0g
aGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXFx1MDAyMFxcdTAwMjApIiwN
Ci0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmICgiXHUwMDIwXHUwMDIwIi50
cmltKCkgPT09ICIiKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKFN0cmluZy5w
cm90b3R5cGUudHJpbSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisv
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNS40LjIw
LTQtMzAiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41LjQu
MjAvMTUuNS40LjIwLTQtMzAuanMiLAorCitkZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUu
dHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChcXHUwMDIwXFx1MDAy
MCkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgaWYgKCJcdTAwMjBcdTAwMjAi
LnRyaW0oKSA9PT0gIiIpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoU3RyaW5nLnByb3Rv
dHlwZS50cmltKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0zMC5qcwpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0zMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMzIuanMJKHJl
dmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS41LjQuMjAtNC0zMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBA
QAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0K
LS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS41LjQuMjAtNC0z
MiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIw
LzE1LjUuNC4yMC00LTMyLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUu
dHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChcXHUwMEEwXFx1MDBB
MCkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgaWYgKCJcdTAwQTBcdTAw
QTAiLnRyaW0oKSA9PT0gIiIpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQot
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoU3Ry
aW5nLnByb3RvdHlwZS50cmltKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwor
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS41
LjQuMjAtNC0zMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS40LzE1
LjUuNC4yMC8xNS41LjQuMjAtNC0zMi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3Rv
dHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFxcdTAwQTBc
XHUwMEEwKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZiAoIlx1MDBBMFx1
MDBBMCIudHJpbSgpID09PSAiIikgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhTdHJpbmcu
cHJvdG90eXBlLnRyaW0pOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTMyLmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTM0LmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC0zNC5q
cwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTM0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM4ICsx
LDM4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0v
Ly8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQN
Ci0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0K
LS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8g
DQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjUuNC4y
MC00LTM0IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41
LjQuMjAvMTUuNS40LjIwLTQtMzQuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3Rv
dHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFxcdUZFRkZc
XHVGRUZGKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBpZiAoIlx1RkVG
Rlx1RkVGRiIudHJpbSgpID09PSAiIikgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwN
Ci0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0
cyhTdHJpbmcucHJvdG90eXBlLnRyaW0pOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
Ky8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDog
IjE1LjUuNC4yMC00LTM0IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41
LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTM0LmpzIiwKKworZGVzY3JpcHRpb246ICJTdHJpbmcu
cHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXFx1
RkVGRlxcdUZFRkYpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGlmICgiXHVG
RUZGXHVGRUZGIi50cmltKCkgPT09ICIiKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAor
CitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKFN0
cmluZy5wcm90b3R5cGUudHJpbSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMzQu
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMzUuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00
LTM1LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMzUuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
MzggKzEsMzggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUu
NS40LjIwLTQtMzUiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS40
LzE1LjUuNC4yMC8xNS41LjQuMjAtNC0zNS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJTdHJpbmcu
cHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJc
XHUwMDA5YykiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgaWYgKCJhYlx1
MDAwOWMiLnRyaW0oKSA9PT0gImFiXHUwMDA5YyIpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9
DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4g
Zm5FeGlzdHMoU3RyaW5nLnByb3RvdHlwZS50cmltKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmln
aHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8v
LyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCgg
eworaWQ6ICIxNS41LjQuMjAtNC0zNSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjUvMTUuNS40LzE1LjUuNC4yMC8xNS41LjQuMjAtNC0zNS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAi
U3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRv
cnMgKGFiXFx1MDAwOWMpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGlmICgi
YWJcdTAwMDljIi50cmltKCkgPT09ICJhYlx1MDAwOWMiKSB7CisgICAgcmV0dXJuIHRydWU7Cisg
IH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZu
RXhpc3RzKFN0cmluZy5wcm90b3R5cGUudHJpbSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40
LjIwLTQtMzUuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMzYuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjUuNC4yMC00LTM2LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMzYuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMzggKzEsMzggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LWlkOiAiMTUuNS40LjIwLTQtMzYiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjUvMTUuNS40LzE1LjUuNC4yMC8xNS41LjQuMjAtNC0zNi5qcyIsDQotDQotZGVzY3JpcHRpb246
ICJTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5h
dG9ycyAoYWJcXHUwMDBCYykiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAg
aWYgKCJhYlx1MDAwQmMiLnRyaW0oKSA9PT0gImFiXHUwMDBCYyIpIHsNCi0gICAgcmV0dXJuIHRy
dWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQot
ICByZXR1cm4gZm5FeGlzdHMoU3RyaW5nLnByb3RvdHlwZS50cmltKTsNCi0gfQ0KLX0pOw0KKy8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggeworaWQ6ICIxNS41LjQuMjAtNC0zNiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjUvMTUuNS40LzE1LjUuNC4yMC8xNS41LjQuMjAtNC0zNi5qcyIsCisKK2Rlc2Ny
aXB0aW9uOiAiU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5l
dGVybWluYXRvcnMgKGFiXFx1MDAwQmMpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
CisgIGlmICgiYWJcdTAwMEJjIi50cmltKCkgPT09ICJhYlx1MDAwQmMiKSB7CisgICAgcmV0dXJu
IHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAg
cmV0dXJuIGZuRXhpc3RzKFN0cmluZy5wcm90b3R5cGUudHJpbSk7CisgfQorfSk7CgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNS40LjIwLTQtMzYuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMzcu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjUuNC4yMC00LTM3LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMzcuanMJKHdv
cmtpbmcgY29weSkKQEAgLTEsMzggKzEsMzggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWlj
cm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QN
Ci0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVy
VGVzdCggew0KLWlkOiAiMTUuNS40LjIwLTQtMzciLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjUvMTUuNS40LzE1LjUuNC4yMC8xNS41LjQuMjAtNC0zNy5qcyIsDQotDQotZGVz
Y3JpcHRpb246ICJTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxp
bmV0ZXJtaW5hdG9ycyAoYWJcXHUwMDBDYykiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgew0KLSAgaWYgKCJhYlx1MDAwQ2MiLnRyaW0oKSA9PT0gImFiXHUwMDBDYyIpIHsNCi0gICAg
cmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVy
ZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoU3RyaW5nLnByb3RvdHlwZS50cmltKTsNCi0gfQ0K
LX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8v
IAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8v
LyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8v
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJu
ZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS41LjQuMjAtNC0zNyIsCisKK3BhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS40LzE1LjUuNC4yMC8xNS41LjQuMjAtNC0zNy5qcyIs
CisKK2Rlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNl
IGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXFx1MDAwQ2MpIiwKKwordGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7CisgIGlmICgiYWJcdTAwMENjIi50cmltKCkgPT09ICJhYlx1MDAwQ2MiKSB7Cisg
ICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKFN0cmluZy5wcm90b3R5cGUudHJpbSk7CisgfQorfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMzcuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1z
dHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40
LjIwLTQtMzguanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTM4LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQt
MzguanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzggKzEsMzggQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNS40LjIwLTQtMzgiLA0KLQ0KLXBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS40LzE1LjUuNC4yMC8xNS41LjQuMjAtNC0zOC5qcyIs
DQotDQotZGVzY3JpcHRpb246ICJTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBh
Y2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJcXHUwMDIwYykiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9u
IHRlc3RjYXNlKCkgew0KLSAgaWYgKCJhYlx1MDAyMGMiLnRyaW0oKSA9PT0gImFiXHUwMDIwYyIp
IHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5j
dGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoU3RyaW5nLnByb3RvdHlwZS50cmlt
KTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0
aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bwor
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAor
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKwor
CitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS41LjQuMjAtNC0zOCIsCisKK3Bh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS40LzE1LjUuNC4yMC8xNS41LjQuMjAt
NC0zOC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMg
d2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXFx1MDAyMGMpIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgIGlmICgiYWJcdTAwMjBjIi50cmltKCkgPT09ICJhYlx1MDAy
MGMiKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0
aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKFN0cmluZy5wcm90b3R5cGUudHJpbSk7
CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMzguanMKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNS40LjIwLTQtMzkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTM5LmpzCShyZXZpc2lvbiAxOTk1
NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NS40LjIwLTQtMzkuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzggKzEsMzggQEAKLS8vLyBDb3B5
cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQot
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1F
UzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNS40LjIwLTQtMzkiLA0KLQ0KLXBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS40LzE1LjUuNC4yMC8xNS41LjQuMjAt
NC0zOS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxl
cyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJcXHUwMDg1YykiLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgaWYgKCJhYlx1MDA4NWMiLnRyaW0oKSA9PT0gImFi
XHUwMDg1YyIpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoU3RyaW5nLnByb3Rv
dHlwZS50cmltKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisv
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS41LjQuMjAtNC0z
OSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS40LzE1LjUuNC4yMC8x
NS41LjQuMjAtNC0zOS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3RvdHlwZS50cmlt
IGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXFx1MDA4NWMpIiwKKwor
dGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGlmICgiYWJcdTAwODVjIi50cmltKCkgPT09
ICJhYlx1MDA4NWMiKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRp
b246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKFN0cmluZy5wcm90b3R5
cGUudHJpbSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtMzkuanMKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtNC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtNC5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjUuNC4yMC00LTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzggKzEsMzggQEAKLS8v
LyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAg
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0N
Ci0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNS40LjIwLTQtNCIsDQot
DQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUu
NC4yMC00LTQuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3RvdHlwZS50cmltIGhh
bmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFxcdTAwMEJhYmMpIiwNCi0NCi10
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmICgiXHUwMDBCYWJjIi50cmltKCkgPT09
ICJhYmMiKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKFN0cmluZy5wcm90b3R5
cGUudHJpbSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNS40LjIwLTQtNCIs
CisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS40LzE1LjUuNC4yMC8xNS41
LjQuMjAtNC00LmpzIiwKKworZGVzY3JpcHRpb246ICJTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFu
ZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXFx1MDAwQmFiYykiLAorCit0ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgaWYgKCJcdTAwMEJhYmMiLnRyaW0oKSA9PT0gImFi
YyIpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rp
b24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoU3RyaW5nLnByb3RvdHlwZS50cmltKTsK
KyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9K
YXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC00LmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjUuNC4yMC00LTQwLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC00MC5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUu
NC4yMC00LTQwLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM4ICsxLDM4IEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjUuNC4yMC00LTQwIiwNCi0NCi1wYXRo
OiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQt
NDAuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMg
d2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXFx1MDBBMGMpIiwNCi0NCi10ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmICgiYWJcdTAwQTBjIi50cmltKCkgPT09ICJhYlx1
MDBBMGMiKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKFN0cmluZy5wcm90b3R5
cGUudHJpbSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
Ky8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNS40LjIwLTQtNDAi
LAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUu
NS40LjIwLTQtNDAuanMiLAorCitkZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSBo
YW5kbGVzIHdoaXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChhYlxcdTAwQTBjKSIsCisKK3Rl
c3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZiAoImFiXHUwMEEwYyIudHJpbSgpID09PSAi
YWJcdTAwQTBjIikgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhTdHJpbmcucHJvdG90eXBl
LnRyaW0pOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTQwLmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjUuNC4yMC00LTQxLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC00MS5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjUuNC4yMC00LTQxLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM4ICsxLDM4IEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjUuNC4yMC00LTQxIiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUu
NS40LjIwLTQtNDEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3RvdHlwZS50cmlt
IGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXFx1MjAwQmMpIiwNCi0N
Ci10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmICgiYWJcdTIwMEJjIi50cmltKCkg
PT09ICJhYlx1MjAwQmMiKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKFN0cmlu
Zy5wcm90b3R5cGUudHJpbSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNS40
LjIwLTQtNDEiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41
LjQuMjAvMTUuNS40LjIwLTQtNDEuanMiLAorCitkZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5
cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChhYlxcdTIwMEJj
KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZiAoImFiXHUyMDBCYyIudHJp
bSgpID09PSAiYWJcdTIwMEJjIikgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhTdHJpbmcu
cHJvdG90eXBlLnRyaW0pOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTQxLmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTQyLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC00Mi5q
cwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTQyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM4ICsx
LDM4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0v
Ly8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQN
Ci0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0K
LS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8g
DQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjUuNC4y
MC00LTQyIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41
LjQuMjAvMTUuNS40LjIwLTQtNDIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3Rv
dHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXFx1RkVG
RmMpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmICgiYWJcdUZFRkZj
Ii50cmltKCkgPT09ICJhYlx1RkVGRmMiKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9
LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhp
c3RzKFN0cmluZy5wcm90b3R5cGUudHJpbSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTUuNS40LjIwLTQtNDIiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1
LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNDIuanMiLAorCitkZXNjcmlwdGlvbjogIlN0cmlu
Zy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChh
YlxcdUZFRkZjKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZiAoImFiXHVG
RUZGYyIudHJpbSgpID09PSAiYWJcdUZFRkZjIikgeworICAgIHJldHVybiB0cnVlOworICB9Cisg
fSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0
cyhTdHJpbmcucHJvdG90eXBlLnRyaW0pOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00
LTQyLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTQzLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQu
MjAtNC00My5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTQzLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDM4ICsxLDM4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0v
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDog
IjE1LjUuNC4yMC00LTQzIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1
LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNDMuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU3Ry
aW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMg
KFxcdTAwMEFhYmMpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmICgi
XHUwMDBBYWJjIi50cmltKCkgPT09ICJhYmMiKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0K
LSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZu
RXhpc3RzKFN0cmluZy5wcm90b3R5cGUudHJpbSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsK
K2lkOiAiMTUuNS40LjIwLTQtNDMiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41
LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNDMuanMiLAorCitkZXNjcmlwdGlvbjogIlN0
cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3Jz
IChcXHUwMDBBYWJjKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZiAoIlx1
MDAwQWFiYyIudHJpbSgpID09PSAiYWJjIikgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwK
KworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhT
dHJpbmcucHJvdG90eXBlLnRyaW0pOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTQz
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTQ0LmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAt
NC00NC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTQ0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDM4ICsxLDM4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4N
Ci0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1
LjUuNC4yMC00LTQ0IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUu
NC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNDQuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU3RyaW5n
LnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFxc
dTAwMERhYmMpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmICgiXHUw
MDBEYWJjIi50cmltKCkgPT09ICJhYmMiKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9
LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhp
c3RzKFN0cmluZy5wcm90b3R5cGUudHJpbSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTUuNS40LjIwLTQtNDQiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1
LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNDQuanMiLAorCitkZXNjcmlwdGlvbjogIlN0cmlu
Zy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChc
XHUwMDBEYWJjKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZiAoIlx1MDAw
RGFiYyIudHJpbSgpID09PSAiYWJjIikgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKwor
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhTdHJp
bmcucHJvdG90eXBlLnRyaW0pOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTQ0Lmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTQ1LmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC00
NS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTQ1LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM4
ICsxLDM4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAN
Ci0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0v
Ly8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjUu
NC4yMC00LTQ1IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8x
NS41LjQuMjAvMTUuNS40LjIwLTQtNDUuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU3RyaW5nLnBy
b3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFxcdTIw
MjhhYmMpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmICgiXHUyMDI4
YWJjIi50cmltKCkgPT09ICJhYmMiKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0K
LQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3Rz
KFN0cmluZy5wcm90b3R5cGUudHJpbSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAi
MTUuNS40LjIwLTQtNDUiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUu
NC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNDUuanMiLAorCitkZXNjcmlwdGlvbjogIlN0cmluZy5w
cm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChcXHUy
MDI4YWJjKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZiAoIlx1MjAyOGFi
YyIudHJpbSgpID09PSAiYWJjIikgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhTdHJpbmcu
cHJvdG90eXBlLnRyaW0pOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTQ1LmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTQ2LmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC00Ni5q
cwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTQ2LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM4ICsx
LDM4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0v
Ly8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQN
Ci0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWlj
cm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0K
LS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8g
DQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjUuNC4y
MC00LTQ2IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41
LjQuMjAvMTUuNS40LjIwLTQtNDYuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3Rv
dHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFxcdTIwMjlh
YmMpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmICgiXHUyMDI5YWJj
Ii50cmltKCkgPT09ICJhYmMiKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0K
LXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKFN0
cmluZy5wcm90b3R5cGUudHJpbSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5
IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MK
Ky8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8v
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUu
NS40LjIwLTQtNDYiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8x
NS41LjQuMjAvMTUuNS40LjIwLTQtNDYuanMiLAorCitkZXNjcmlwdGlvbjogIlN0cmluZy5wcm90
b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChcXHUyMDI5
YWJjKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZiAoIlx1MjAyOWFiYyIu
dHJpbSgpID09PSAiYWJjIikgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhTdHJpbmcucHJv
dG90eXBlLnRyaW0pOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTQ2LmpzCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTQ3LmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC00Ny5qcwko
cmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjUuNC4yMC00LTQ3LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM4ICsxLDM4
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjUuNC4yMC00
LTQ3IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41LjQu
MjAvMTUuNS40LjIwLTQtNDcuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3RvdHlw
ZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1xcdTAwMEEp
IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmICgiYWJjXHUwMDBBIi50
cmltKCkgPT09ICJhYmMiKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXBy
ZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKFN0cmlu
Zy5wcm90b3R5cGUudHJpbSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNS40
LjIwLTQtNDciLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41
LjQuMjAvMTUuNS40LjIwLTQtNDcuanMiLAorCitkZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5
cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChhYmNcXHUwMDBB
KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZiAoImFiY1x1MDAwQSIudHJp
bSgpID09PSAiYWJjIikgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0
aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhTdHJpbmcucHJvdG90
eXBlLnRyaW0pOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTQ3LmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTQ4LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC00OC5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjUuNC4yMC00LTQ4LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM4ICsxLDM4IEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
DQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjUuNC4yMC00LTQ4
IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAv
MTUuNS40LjIwLTQtNDguanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3RvdHlwZS50
cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1xcdTAwMEQpIiwN
Ci0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmICgiYWJjXHUwMDBEIi50cmlt
KCkgPT09ICJhYmMiKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKFN0cmluZy5w
cm90b3R5cGUudHJpbSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisv
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNS40LjIw
LTQtNDgiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41LjQu
MjAvMTUuNS40LjIwLTQtNDguanMiLAorCitkZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUu
dHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChhYmNcXHUwMDBEKSIs
CisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZiAoImFiY1x1MDAwRCIudHJpbSgp
ID09PSAiYWJjIikgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhTdHJpbmcucHJvdG90eXBl
LnRyaW0pOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTQ4LmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjUuNC4yMC00LTQ5LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC00OS5qcwkocmV2aXNp
b24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjUuNC4yMC00LTQ5LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM4ICsxLDM4IEBACi0v
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAg
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQot
DQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjUuNC4yMC00LTQ5IiwN
Ci0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUu
NS40LjIwLTQtNDkuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3RvdHlwZS50cmlt
IGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1xcdTIwMjgpIiwNCi0N
Ci10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmICgiYWJjXHUyMDI4Ii50cmltKCkg
PT09ICJhYmMiKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRp
dGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKFN0cmluZy5wcm90
b3R5cGUudHJpbSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29m
dCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAor
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNS40LjIwLTQt
NDkiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAv
MTUuNS40LjIwLTQtNDkuanMiLAorCitkZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJp
bSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChhYmNcXHUyMDI4KSIsCisK
K3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZiAoImFiY1x1MjAyOCIudHJpbSgpID09
PSAiYWJjIikgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhTdHJpbmcucHJvdG90eXBlLnRy
aW0pOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTQ5LmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjUuNC4yMC00LTUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTUuanMJKHJldmlzaW9uIDE5
OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS41LjQuMjAtNC01LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM4ICsxLDM4IEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQot
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjUuNC4yMC00LTUiLA0KLQ0KLXBh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS40LzE1LjUuNC4yMC8xNS41LjQuMjAt
NC01LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVz
IHdoaXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChcXHUwMDBDYWJjKSIsDQotDQotdGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBpZiAoIlx1MDAwQ2FiYyIudHJpbSgpID09PSAiYWJj
Iikgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1
bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhTdHJpbmcucHJvdG90eXBlLnRy
aW0pOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
CisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8g
CisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
CisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjUuNC4yMC00LTUiLAorCitw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIw
LTQtNS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMg
d2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFxcdTAwMENhYmMpIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgIGlmICgiXHUwMDBDYWJjIi50cmltKCkgPT09ICJhYmMiKSB7
CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHBy
ZXJlcSgpIHsKKyAgcmV0dXJuIGZuRXhpc3RzKFN0cmluZy5wcm90b3R5cGUudHJpbSk7CisgfQor
fSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtNS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41
LjQuMjAtNC01MC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtNTAuanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAt
NC01MC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS41LjQuMjAtNC01MCIsDQotDQotcGF0aDogIlRl
c3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTUwLmpz
IiwNCi0NCi1kZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRl
cGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChhYmNcXHUyMDI5KSIsDQotDQotdGVzdDogZnVuY3Rp
b24gdGVzdGNhc2UoKSB7DQotICBpZiAoImFiY1x1MjAyOSIudHJpbSgpID09PSAiYWJjIikgew0K
LSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9u
IHByZXJlcSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhTdHJpbmcucHJvdG90eXBlLnRyaW0pOw0K
LSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
CisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
CisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VT
NUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjUuNC4yMC00LTUwIiwKKworcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTUw
LmpzIiwKKworZGVzY3JpcHRpb246ICJTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0
ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJjXFx1MjAyOSkiLAorCit0ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsKKyAgaWYgKCJhYmNcdTIwMjkiLnRyaW0oKSA9PT0gImFiYyIpIHsKKyAg
ICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVx
KCkgeworICByZXR1cm4gZm5FeGlzdHMoU3RyaW5nLnByb3RvdHlwZS50cmltKTsKKyB9Cit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC01MC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQu
MjAtNC01MS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtNTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC01
MS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS41LjQuMjAtNC01MSIsDQotDQotcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTUxLmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFj
ZSBhbmQgbGluZXRlcm1pbmF0b3JzIChcXHUwMDBBYWJjXFx1MDAwQSkiLA0KLQ0KLXRlc3Q6IGZ1
bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgaWYgKCJcdTAwMEFhYmNcdTAwMEEiLnRyaW0oKSA9PT0g
ImFiYyIpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9u
OiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoU3RyaW5nLnByb3RvdHlw
ZS50cmltKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
Ly8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS41LjQuMjAtNC01MSIs
CisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS40LzE1LjUuNC4yMC8xNS41
LjQuMjAtNC01MS5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3RvdHlwZS50cmltIGhh
bmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFxcdTAwMEFhYmNcXHUwMDBBKSIs
CisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZiAoIlx1MDAwQWFiY1x1MDAwQSIu
dHJpbSgpID09PSAiYWJjIikgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29u
ZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhTdHJpbmcucHJv
dG90eXBlLnRyaW0pOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTUxLmpzCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTUyLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC01Mi5qcwko
cmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjUuNC4yMC00LTUyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM4ICsxLDM4
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjUuNC4yMC00
LTUyIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41LjQu
MjAvMTUuNS40LjIwLTQtNTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3RvdHlw
ZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFxcdTAwMERhYmNc
XHUwMDBEKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBpZiAoIlx1MDAw
RGFiY1x1MDAwRCIudHJpbSgpID09PSAiYWJjIikgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0N
Ci0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVybiBm
bkV4aXN0cyhTdHJpbmcucHJvdG90eXBlLnRyaW0pOw0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7
CitpZDogIjE1LjUuNC4yMC00LTUyIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
NS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTUyLmpzIiwKKworZGVzY3JpcHRpb246ICJT
dHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9y
cyAoXFx1MDAwRGFiY1xcdTAwMEQpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7Cisg
IGlmICgiXHUwMDBEYWJjXHUwMDBEIi50cmltKCkgPT09ICJhYmMiKSB7CisgICAgcmV0dXJuIHRy
dWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0
dXJuIGZuRXhpc3RzKFN0cmluZy5wcm90b3R5cGUudHJpbSk7CisgfQorfSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuNS40LjIwLTQtNTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtNTMuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjUuNC4yMC00LTUzLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtNTMuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsMzggKzEsMzggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9z
b2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0v
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVz
dCggew0KLWlkOiAiMTUuNS40LjIwLTQtNTMiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjUvMTUuNS40LzE1LjUuNC4yMC8xNS41LjQuMjAtNC01My5qcyIsDQotDQotZGVzY3Jp
cHRpb246ICJTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0
ZXJtaW5hdG9ycyAoXFx1MjAyOGFiY1xcdTIwMjgpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsNCi0gIGlmICgiXHUyMDI4YWJjXHUyMDI4Ii50cmltKCkgPT09ICJhYmMiKSB7DQot
ICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKFN0cmluZy5wcm90b3R5cGUudHJpbSk7DQot
IH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAK
Ky8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
CisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYK
Ky8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNS40LjIwLTQtNTMiLAorCitwYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNTMu
anMiLAorCitkZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRl
cGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChcXHUyMDI4YWJjXFx1MjAyOCkiLAorCit0ZXN0OiBm
dW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgaWYgKCJcdTIwMjhhYmNcdTIwMjgiLnRyaW0oKSA9PT0g
ImFiYyIpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVu
Y3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoU3RyaW5nLnByb3RvdHlwZS50cmlt
KTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC01My5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS41LjQuMjAtNC01NC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtNTQuanMJKHJldmlzaW9uIDE5
OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS41LjQuMjAtNC01NC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYN
Ci0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0K
LUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS41LjQuMjAtNC01NCIsDQotDQot
cGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4y
MC00LTU0LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5k
bGVzIHdoaXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChcXHUyMDI5YWJjXFx1MjAyOSkiLA0K
LQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgaWYgKCJcdTIwMjlhYmNcdTIwMjki
LnRyaW0oKSA9PT0gImFiYyIpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQot
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoU3Ry
aW5nLnByb3RvdHlwZS50cmltKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwor
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS41
LjQuMjAtNC01NCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS40LzE1
LjUuNC4yMC8xNS41LjQuMjAtNC01NC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiU3RyaW5nLnByb3Rv
dHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFxcdTIwMjlh
YmNcXHUyMDI5KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZiAoIlx1MjAy
OWFiY1x1MjAyOSIudHJpbSgpID09PSAiYWJjIikgeworICAgIHJldHVybiB0cnVlOworICB9Cisg
fSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0
cyhTdHJpbmcucHJvdG90eXBlLnRyaW0pOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00
LTU0LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTU1LmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQu
MjAtNC01NS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTU1LmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDM4ICsxLDM4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0v
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDog
IjE1LjUuNC4yMC00LTU1IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1
LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNTUuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU3Ry
aW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMg
KFxcdTAwMEFcXHUwMDBBKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBp
ZiAoIlx1MDAwQVx1MDAwQSIudHJpbSgpID09PSAiIikgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0g
IH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsNCi0gIHJldHVy
biBmbkV4aXN0cyhTdHJpbmcucHJvdG90eXBlLnRyaW0pOw0KLSB9DQotfSk7DQorLy8vIENvcHly
aWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAK
Ky8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAor
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7CitpZDogIjE1LjUuNC4yMC00LTU1IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUv
MTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTU1LmpzIiwKKworZGVzY3JpcHRpb246
ICJTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5h
dG9ycyAoXFx1MDAwQVxcdTAwMEEpIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7Cisg
IGlmICgiXHUwMDBBXHUwMDBBIi50cmltKCkgPT09ICIiKSB7CisgICAgcmV0dXJuIHRydWU7Cisg
IH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZu
RXhpc3RzKFN0cmluZy5wcm90b3R5cGUudHJpbSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40
LjIwLTQtNTUuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtNTYuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjUuNC4yMC00LTU2LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtNTYuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMzggKzEsMzggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LWlkOiAiMTUuNS40LjIwLTQtNTYiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1
LjUvMTUuNS40LzE1LjUuNC4yMC8xNS41LjQuMjAtNC01Ni5qcyIsDQotDQotZGVzY3JpcHRpb246
ICJTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5h
dG9ycyAoXFx1MDAwRFxcdTAwMEQpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsN
Ci0gIGlmICgiXHUwMDBEXHUwMDBEIi50cmltKCkgPT09ICIiKSB7DQotICAgIHJldHVybiB0cnVl
Ow0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAg
cmV0dXJuIGZuRXhpc3RzKFN0cmluZy5wcm90b3R5cGUudHJpbSk7DQotIH0NCi19KTsNCisvLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsKK2lkOiAiMTUuNS40LjIwLTQtNTYiLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNTYuanMiLAorCitkZXNjcmlw
dGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQgbGluZXRl
cm1pbmF0b3JzIChcXHUwMDBEXFx1MDAwRCkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsKKyAgaWYgKCJcdTAwMERcdTAwMEQiLnRyaW0oKSA9PT0gIiIpIHsKKyAgICByZXR1cm4gdHJ1
ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1
cm4gZm5FeGlzdHMoU3RyaW5nLnByb3RvdHlwZS50cmltKTsKKyB9Cit9KTsKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS41LjQuMjAtNC01Ni5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAg
KzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC01Ny5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2Fz
ZXMvMTUuNS40LjIwLTQtNTcuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2ll
dGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC01Ny5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
DQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7DQotaWQ6ICIxNS41LjQuMjAtNC01NyIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVy
MTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTU3LmpzIiwNCi0NCi1kZXNjcmlw
dGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQgbGluZXRl
cm1pbmF0b3JzIChcXHUyMDI4XFx1MjAyOCkiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgew0KLSAgaWYgKCJcdTIwMjhcdTIwMjgiLnRyaW0oKSA9PT0gIiIpIHsNCi0gICAgcmV0dXJu
IHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
DQotICByZXR1cm4gZm5FeGlzdHMoU3RyaW5nLnByb3RvdHlwZS50cmltKTsNCi0gfQ0KLX0pOw0K
Ky8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8g
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggeworaWQ6ICIxNS41LjQuMjAtNC01NyIsCisKK3BhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjUvMTUuNS40LzE1LjUuNC4yMC8xNS41LjQuMjAtNC01Ny5qcyIsCisKK2Rl
c2NyaXB0aW9uOiAiU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBs
aW5ldGVybWluYXRvcnMgKFxcdTIwMjhcXHUyMDI4KSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgeworICBpZiAoIlx1MjAyOFx1MjAyOCIudHJpbSgpID09PSAiIikgeworICAgIHJldHVy
biB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7Cisg
IHJldHVybiBmbkV4aXN0cyhTdHJpbmcucHJvdG90eXBlLnRyaW0pOworIH0KK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjUuNC4yMC00LTU3LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMg
LTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTU4
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS41LjQuMjAtNC01OC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTU4LmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDM4ICsxLDM4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
DQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsNCi1pZDogIjE1LjUuNC4yMC00LTU4IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNTguanMiLA0KLQ0KLWRl
c2NyaXB0aW9uOiAiU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBs
aW5ldGVybWluYXRvcnMgKFxcdTIwMjlcXHUyMDI5KSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7DQotICBpZiAoIlx1MjAyOVx1MjAyOSIudHJpbSgpID09PSAiIikgew0KLSAgICBy
ZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfSwNCi0NCi1wcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJl
cSgpIHsNCi0gIHJldHVybiBmbkV4aXN0cyhTdHJpbmcucHJvdG90eXBlLnRyaW0pOw0KLSB9DQot
fSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8g
CisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwK
Ky8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjUuNC4yMC00LTU4IiwKKworcGF0aDogIlRlc3RD
YXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTU4LmpzIiwK
KworZGVzY3JpcHRpb246ICJTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2Ug
YW5kIGxpbmV0ZXJtaW5hdG9ycyAoXFx1MjAyOVxcdTIwMjkpIiwKKwordGVzdDogZnVuY3Rpb24g
dGVzdGNhc2UoKSB7CisgIGlmICgiXHUyMDI5XHUyMDI5Ii50cmltKCkgPT09ICIiKSB7CisgICAg
cmV0dXJuIHRydWU7CisgIH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgp
IHsKKyAgcmV0dXJuIGZuRXhpc3RzKFN0cmluZy5wcm90b3R5cGUudHJpbSk7CisgfQorfSk7CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNS40LjIwLTQtNTguanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHls
ZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIw
LTQtNTkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTU5LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtNTku
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDAgKzEsNDAgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQot
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNS40LjIwLTQtNTkiLA0KLQ0KLXBhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS40LzE1LjUuNC4yMC8xNS41LjQuMjAtNC01OS5qcyIsDQot
DQotZGVzY3JpcHRpb246ICJTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2Ug
YW5kIGxpbmV0ZXJtaW5hdG9ycyAoXFx1MjAyOWFiYyBhcyBhIG11bHRpbGluZSBzdHJpbmcpIiwN
Ci0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBzID0gIlx1MjAyOVwNCi0g
ICAgICAgICAgIGFiYyI7DQotICBpZiAocy50cmltKCkgPT09ICJhYmMiKSB7DQotICAgIHJldHVy
biB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkg
ew0KLSAgcmV0dXJuIGZuRXhpc3RzKFN0cmluZy5wcm90b3R5cGUudHJpbSk7DQotIH0NCi19KTsN
CisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8v
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5y
ZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNS40LjIwLTQtNTkiLAorCitwYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNTkuanMiLAorCitk
ZXNjcmlwdGlvbjogIlN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQg
bGluZXRlcm1pbmF0b3JzIChcXHUyMDI5YWJjIGFzIGEgbXVsdGlsaW5lIHN0cmluZykiLAorCit0
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIHMgPSAiXHUyMDI5XAorICAgICAgICAg
ICBhYmMiOworICBpZiAocy50cmltKCkgPT09ICJhYmMiKSB7CisgICAgcmV0dXJuIHRydWU7Cisg
IH0KKyB9LAorCitwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKKyAgcmV0dXJuIGZu
RXhpc3RzKFN0cmluZy5wcm90b3R5cGUudHJpbSk7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40
LjIwLTQtNTkuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
ZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtNi5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NS40LjIwLTQtNi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTYuanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsMzggKzEsMzggQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBv
cmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0K
LS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlk
OiAiMTUuNS40LjIwLTQtNiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8x
NS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTYuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU3Ry
aW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMg
KFxcdTAwMjBhYmMpIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmICgi
XHUwMDIwYWJjIi50cmltKCkgPT09ICJhYmMiKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0K
LSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZu
RXhpc3RzKFN0cmluZy5wcm90b3R5cGUudHJpbSk7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0
IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsK
K2lkOiAiMTUuNS40LjIwLTQtNiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUv
MTUuNS40LzE1LjUuNC4yMC8xNS41LjQuMjAtNC02LmpzIiwKKworZGVzY3JpcHRpb246ICJTdHJp
bmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAo
XFx1MDAyMGFiYykiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgaWYgKCJcdTAw
MjBhYmMiLnRyaW0oKSA9PT0gImFiYyIpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisK
K3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoU3Ry
aW5nLnByb3RvdHlwZS50cmltKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC02Lmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTYwLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC02
MC5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTYwLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM4
ICsxLDM4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAN
Ci0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
TWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0v
Ly8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjUu
NC4yMC00LTYwIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNC8x
NS41LjQuMjAvMTUuNS40LjIwLTQtNjAuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU3RyaW5nLnBy
b3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKHN0cmlu
ZyB3aXRoIGp1c3QgYmxhbmtzKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQot
ICBpZiAoIiAgICAiLnRyaW0oKSA9PT0gIiIpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQot
IH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5F
eGlzdHMoU3RyaW5nLnByb3RvdHlwZS50cmltKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxNS41LjQuMjAtNC02MCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUv
MTUuNS40LzE1LjUuNC4yMC8xNS41LjQuMjAtNC02MC5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiU3Ry
aW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMg
KHN0cmluZyB3aXRoIGp1c3QgYmxhbmtzKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
eworICBpZiAoIiAgICAiLnRyaW0oKSA9PT0gIiIpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQor
IH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlz
dHMoU3RyaW5nLnByb3RvdHlwZS50cmltKTsKKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAt
NC02MC5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xG
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQuMjAtNC04LmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjQu
MjAtNC04LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS40LjIwLTQtOC5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSwzOCArMSwzOCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRp
b24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8v
LyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8v
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIx
NS41LjQuMjAtNC04IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUu
NC8xNS41LjQuMjAvMTUuNS40LjIwLTQtOC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJTdHJpbmcu
cHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXFx1
MDBBMGFiYykiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgaWYgKCJcdTAw
QTBhYmMiLnRyaW0oKSA9PT0gImFiYyIpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0s
DQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlz
dHMoU3RyaW5nLnByb3RvdHlwZS50cmltKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
CisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6
ICIxNS41LjQuMjAtNC04IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41
LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTguanMiLAorCitkZXNjcmlwdGlvbjogIlN0cmluZy5w
cm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChcXHUw
MEEwYWJjKSIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZiAoIlx1MDBBMGFi
YyIudHJpbSgpID09PSAiYWJjIikgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhTdHJpbmcu
cHJvdG90eXBlLnRyaW0pOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNC4yMC00LTguanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS41LjUuMi0xLTEuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNS41LjItMS0xLmpz
CShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNS41LjUuMi0xLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzEs
NDIgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8v
LyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0K
LS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNy
b3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQot
Ly8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyAN
Ci0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiANCi0NCi0vKg0KLTE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBT
dHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KLW5vdGF0aW9uIHRvIGxvb2sgdXAg
bm9uIG51bWVyaWMgcHJvcGVydHkgbmFtZXMuDQotKi8NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggew0KLWlkOiAiMTUuNS41LjUuMi0xLTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMv
Y2hhcHRlcjE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMS0xLmpzIiwNCi0NCi1k
ZXNjcmlwdGlvbjogIlN0cmluZyBvYmplY3Qgc3VwcG9ydHMgYnJhY2tldCBub3RhdGlvbiB0byBs
b29rdXAgb2YgZGF0YSBwcm9wZXJ0aWVzIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgp
IHsNCi0gIHZhciBzID0gbmV3IFN0cmluZygiaGVsbG8gd29ybGQiKTsNCi0gIHMuZm9vID0gMTsN
Ci0gIA0KLSAgaWYgKHNbImZvbyJdID09PSAxKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0K
LSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24g
CisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3Nv
ZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
CisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisvKgor
MTUuNS41LjIgZGVmaW5lcyBbW0dldE93blByb3BlcnR5XV0gZm9yIFN0cmluZ3MuIEl0IHN1cHBv
cnRzIHVzaW5nIGluZGV4aW5nCitub3RhdGlvbiB0byBsb29rIHVwIG5vbiBudW1lcmljIHByb3Bl
cnR5IG5hbWVzLgorKi8KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS41
LjUuNS4yLTEtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS41LzE1
LjUuNS4yLzE1LjUuNS41LjItMS0xLmpzIiwKKworZGVzY3JpcHRpb246ICJTdHJpbmcgb2JqZWN0
IHN1cHBvcnRzIGJyYWNrZXQgbm90YXRpb24gdG8gbG9va3VwIG9mIGRhdGEgcHJvcGVydGllcyIs
CisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgcyA9IG5ldyBTdHJpbmcoImhl
bGxvIHdvcmxkIik7CisgIHMuZm9vID0gMTsKKyAgCisgIGlmIChzWyJmb28iXSA9PT0gMSkgewor
ICAgIHJldHVybiB0cnVlOworICB9CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS41LjUuMi0xLTEu
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50
ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS41LjUuMi0xLTIuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNS41LjIt
MS0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS41LjUuMi0xLTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
NDEgKzEsNDEgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9u
IA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0K
LS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiANCi0NCi0vKg0KLTE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1d
IGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KLW5vdGF0aW9uIHRvIGxv
b2sgdXAgbm9uIG51bWVyaWMgcHJvcGVydHkgbmFtZXMuDQotKi8NCi0NCi0NCi1FUzVIYXJuZXNz
LnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNS41LjUuMi0xLTIiLA0KLQ0KLXBhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMS0yLmpzIiwN
Ci0NCi1kZXNjcmlwdGlvbjogIlN0cmluZyB2YWx1ZSBzdXBwb3J0cyBicmFja2V0IG5vdGF0aW9u
IHRvIGxvb2t1cCBkYXRhIHByb3BlcnRpZXMiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgew0KLSAgdmFyIHMgPSBTdHJpbmcoImhlbGxvIHdvcmxkIik7DQotICANCi0gIGlmIChzWyJm
b28iXSA9PT0gdW5kZWZpbmVkKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9DQotfSk7
DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisv
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisvKgorMTUuNS41LjIg
ZGVmaW5lcyBbW0dldE93blByb3BlcnR5XV0gZm9yIFN0cmluZ3MuIEl0IHN1cHBvcnRzIHVzaW5n
IGluZGV4aW5nCitub3RhdGlvbiB0byBsb29rIHVwIG5vbiBudW1lcmljIHByb3BlcnR5IG5hbWVz
LgorKi8KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS41LjUuNS4yLTEt
MiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1
LjUuNS41LjItMS0yLmpzIiwKKworZGVzY3JpcHRpb246ICJTdHJpbmcgdmFsdWUgc3VwcG9ydHMg
YnJhY2tldCBub3RhdGlvbiB0byBsb29rdXAgZGF0YSBwcm9wZXJ0aWVzIiwKKwordGVzdDogZnVu
Y3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBzID0gU3RyaW5nKCJoZWxsbyB3b3JsZCIpOworICAK
KyAgaWYgKHNbImZvbyJdID09PSB1bmRlZmluZWQpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQor
IH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0ph
dmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNS41LjItMS0yLmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjUuNS41LjItMy0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjUuNS4yLTMtMS5qcwkocmV2aXNpb24gMTk5NTQ5
KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUu
NS41LjItMy0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQxICsxLDQxIEBACi0vLy8gQ29weXJp
Z2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwN
Ci0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8v
LyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotLyoNCi0x
NS41LjUuMiBkZWZpbmVzIFtbR2V0T3duUHJvcGVydHldXSBmb3IgU3RyaW5ncy4gSXQgc3VwcG9y
dHMgdXNpbmcgaW5kZXhpbmcNCi1ub3RhdGlvbiB0byBsb29rIHVwIG5vbiBudW1lcmljIHByb3Bl
cnR5IG5hbWVzLg0KLSovDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDog
IjE1LjUuNS41LjItMy0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1
LjUuNS8xNS41LjUuMi8xNS41LjUuNS4yLTMtMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJTdHJp
bmcgb2JqZWN0IGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGZvciBtaXNzaW5nIGRhdGEgcHJv
cGVydGllcyIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgcyA9IG5l
dyBTdHJpbmcoImhlbGxvIHdvcmxkIik7DQotICANCi0gIGlmIChzWyJmb28iXSA9PT0gdW5kZWZp
bmVkKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisvKgorMTUuNS41LjIgZGVmaW5lcyBbW0dldE93
blByb3BlcnR5XV0gZm9yIFN0cmluZ3MuIEl0IHN1cHBvcnRzIHVzaW5nIGluZGV4aW5nCitub3Rh
dGlvbiB0byBsb29rIHVwIG5vbiBudW1lcmljIHByb3BlcnR5IG5hbWVzLgorKi8KKworCitFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS41LjUuNS4yLTMtMSIsCisKK3BhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy0xLmpz
IiwKKworZGVzY3JpcHRpb246ICJTdHJpbmcgb2JqZWN0IGluZGV4aW5nIHJldHVybnMgdW5kZWZp
bmVkIGZvciBtaXNzaW5nIGRhdGEgcHJvcGVydGllcyIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3Rj
YXNlKCkgeworICB2YXIgcyA9IG5ldyBTdHJpbmcoImhlbGxvIHdvcmxkIik7CisgIAorICBpZiAo
c1siZm9vIl0gPT09IHVuZGVmaW5lZCkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfQorfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNS41LjUuMi0zLTEuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1z
dHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS41
LjUuMi0zLTIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjUuNS41LjItMy0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS41LjUuMi0z
LTIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDEgKzEsNDEgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0vKg0KLTE1LjUuNS4y
IGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2lu
ZyBpbmRleGluZw0KLW5vdGF0aW9uIHRvIGxvb2sgdXAgbm9uIG51bWVyaWMgcHJvcGVydHkgbmFt
ZXMuDQotKi8NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNS41
LjUuMi0zLTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS41LzE1
LjUuNS4yLzE1LjUuNS41LjItMy0yLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIlN0cmluZyB2YWx1
ZSBpbmRleGluZyByZXR1cm5zIHVuZGVmaW5lZCBmb3IgbWlzc2luZyBkYXRhIHByb3BlcnRpZXMi
LA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIHMgPSBTdHJpbmcoImhl
bGxvIHdvcmxkIik7DQotICANCi0gIGlmIChzWyJmb28iXSA9PT0gdW5kZWZpbmVkKSB7DQotICAg
IHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBN
aWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisv
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorCisvKgorMTUuNS41LjIgZGVmaW5lcyBbW0dldE93blByb3BlcnR5XV0g
Zm9yIFN0cmluZ3MuIEl0IHN1cHBvcnRzIHVzaW5nIGluZGV4aW5nCitub3RhdGlvbiB0byBsb29r
IHVwIG5vbiBudW1lcmljIHByb3BlcnR5IG5hbWVzLgorKi8KKworCitFUzVIYXJuZXNzLnJlZ2lz
dGVyVGVzdCggeworaWQ6ICIxNS41LjUuNS4yLTMtMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hh
cHRlcjE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy0yLmpzIiwKKworZGVzY3Jp
cHRpb246ICJTdHJpbmcgdmFsdWUgaW5kZXhpbmcgcmV0dXJucyB1bmRlZmluZWQgZm9yIG1pc3Np
bmcgZGF0YSBwcm9wZXJ0aWVzIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZh
ciBzID0gU3RyaW5nKCJoZWxsbyB3b3JsZCIpOworICAKKyAgaWYgKHNbImZvbyJdID09PSB1bmRl
ZmluZWQpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0KK30pOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUu
NS41LjItMy0yLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAj
IworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNS41LjItMy0zLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8x
NS41LjUuNS4yLTMtMy5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNS41LjItMy0zLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDQxICsxLDQxIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBD
b3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MN
Ci0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0v
Ly8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotLyoNCi0xNS41LjUuMiBkZWZpbmVzIFtbR2V0T3du
UHJvcGVydHldXSBmb3IgU3RyaW5ncy4gSXQgc3VwcG9ydHMgdXNpbmcgaW5kZXhpbmcNCi1ub3Rh
dGlvbiB0byBsb29rIHVwIG5vbiBudW1lcmljIHByb3BlcnR5IG5hbWVzLg0KLSovDQotDQotDQot
RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1LjUuNS41LjItMy0zIiwNCi0NCi1w
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNS8xNS41LjUuMi8xNS41LjUuNS4y
LTMtMy5qcyIsDQotDQotZGVzY3JpcHRpb246ICJTdHJpbmcgb2JqZWN0IGluZGV4aW5nIHJldHVy
bnMgdW5kZWZpbmVkIGlmIHRoZSBudW1lcmljIGluZGV4IChOYU4pIGlzIG5vdCBhbiBhcnJheSBp
bmRleCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgcyA9IG5ldyBT
dHJpbmcoImhlbGxvIHdvcmxkIik7DQotDQotICBpZiAoc1tOYU5dID09PSB1bmRlZmluZWQpIHsN
Ci0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisKKy8qCisxNS41LjUuMiBkZWZpbmVzIFtbR2V0T3duUHJvcGVy
dHldXSBmb3IgU3RyaW5ncy4gSXQgc3VwcG9ydHMgdXNpbmcgaW5kZXhpbmcKK25vdGF0aW9uIHRv
IGxvb2sgdXAgbm9uIG51bWVyaWMgcHJvcGVydHkgbmFtZXMuCisqLworCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjUuNS41LjItMy0zIiwKKworcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNS8xNS41LjUvMTUuNS41LjIvMTUuNS41LjUuMi0zLTMuanMiLAorCitk
ZXNjcmlwdGlvbjogIlN0cmluZyBvYmplY3QgaW5kZXhpbmcgcmV0dXJucyB1bmRlZmluZWQgaWYg
dGhlIG51bWVyaWMgaW5kZXggKE5hTikgaXMgbm90IGFuIGFycmF5IGluZGV4IiwKKwordGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBzID0gbmV3IFN0cmluZygiaGVsbG8gd29ybGQi
KTsKKworICBpZiAoc1tOYU5dID09PSB1bmRlZmluZWQpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAg
fQorIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNS41LjItMy0zLmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjUuNS41LjItMy00LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNl
bnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjUuNS4yLTMtNC5qcwkocmV2aXNpb24gMTk5
NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjUuNS41LjItMy00LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQxICsxLDQxIEBACi0vLy8gQ29w
eXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0K
LS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotLyoN
Ci0xNS41LjUuMiBkZWZpbmVzIFtbR2V0T3duUHJvcGVydHldXSBmb3IgU3RyaW5ncy4gSXQgc3Vw
cG9ydHMgdXNpbmcgaW5kZXhpbmcNCi1ub3RhdGlvbiB0byBsb29rIHVwIG5vbiBudW1lcmljIHBy
b3BlcnR5IG5hbWVzLg0KLSovDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1p
ZDogIjE1LjUuNS41LjItMy00IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41
LzE1LjUuNS8xNS41LjUuMi8xNS41LjUuNS4yLTMtNC5qcyIsDQotDQotZGVzY3JpcHRpb246ICJT
dHJpbmcgb2JqZWN0IGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBudW1lcmljIGlu
ZGV4IChJbmZpbml0eSkgaXMgbm90IGFuIGFycmF5IGluZGV4IiwNCi0NCi10ZXN0OiBmdW5jdGlv
biB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBzID0gbmV3IFN0cmluZygiaGVsbG8gd29ybGQiKTsNCi0N
Ci0gIGlmIChzW0luZmluaXR5XSA9PT0gdW5kZWZpbmVkKSB7DQotICAgIHJldHVybiB0cnVlOw0K
LSAgfQ0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9y
YXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAg
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
aWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
CisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8g
CisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
CisvKgorMTUuNS41LjIgZGVmaW5lcyBbW0dldE93blByb3BlcnR5XV0gZm9yIFN0cmluZ3MuIEl0
IHN1cHBvcnRzIHVzaW5nIGluZGV4aW5nCitub3RhdGlvbiB0byBsb29rIHVwIG5vbiBudW1lcmlj
IHByb3BlcnR5IG5hbWVzLgorKi8KKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6
ICIxNS41LjUuNS4yLTMtNCIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUu
NS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy00LmpzIiwKKworZGVzY3JpcHRpb246ICJTdHJpbmcg
b2JqZWN0IGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBudW1lcmljIGluZGV4IChJ
bmZpbml0eSkgaXMgbm90IGFuIGFycmF5IGluZGV4IiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNh
c2UoKSB7CisgIHZhciBzID0gbmV3IFN0cmluZygiaGVsbG8gd29ybGQiKTsKKworICBpZiAoc1tJ
bmZpbml0eV0gPT09IHVuZGVmaW5lZCkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfQorfSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNS41LjUuMi0zLTQuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1z
dHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS41
LjUuMi0zLTUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjUuNS41LjItMy01LmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS41LjUuMi0z
LTUuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDEgKzEsNDEgQEAKLS8vLyBDb3B5cmlnaHQgKGMp
IDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQot
Ly8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQot
Ly8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
DQotLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0vKg0KLTE1LjUuNS4y
IGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2lu
ZyBpbmRleGluZw0KLW5vdGF0aW9uIHRvIGxvb2sgdXAgbm9uIG51bWVyaWMgcHJvcGVydHkgbmFt
ZXMuDQotKi8NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNS41
LjUuMi0zLTUiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS41LzE1
LjUuNS4yLzE1LjUuNS41LjItMy01LmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIlN0cmluZyBvYmpl
Y3QgaW5kZXhpbmcgcmV0dXJucyB1bmRlZmluZWQgaWYgdGhlIG51bWVyaWMgaW5kZXggKCAyXjMy
LTEpIGlzIG5vdCBhbiBhcnJheSBpbmRleCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2Uo
KSB7DQotICB2YXIgcyA9IG5ldyBTdHJpbmcoImhlbGxvIHdvcmxkIik7DQotDQotICBpZiAoc1tN
YXRoLnBvdygyLCAzMiktMV09PT11bmRlZmluZWQpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9
DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jv
c29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKy8q
CisxNS41LjUuMiBkZWZpbmVzIFtbR2V0T3duUHJvcGVydHldXSBmb3IgU3RyaW5ncy4gSXQgc3Vw
cG9ydHMgdXNpbmcgaW5kZXhpbmcKK25vdGF0aW9uIHRvIGxvb2sgdXAgbm9uIG51bWVyaWMgcHJv
cGVydHkgbmFtZXMuCisqLworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1
LjUuNS41LjItMy01IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjUv
MTUuNS41LjIvMTUuNS41LjUuMi0zLTUuanMiLAorCitkZXNjcmlwdGlvbjogIlN0cmluZyBvYmpl
Y3QgaW5kZXhpbmcgcmV0dXJucyB1bmRlZmluZWQgaWYgdGhlIG51bWVyaWMgaW5kZXggKCAyXjMy
LTEpIGlzIG5vdCBhbiBhcnJheSBpbmRleCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
eworICB2YXIgcyA9IG5ldyBTdHJpbmcoImhlbGxvIHdvcmxkIik7CisKKyAgaWYgKHNbTWF0aC5w
b3coMiwgMzIpLTFdPT09dW5kZWZpbmVkKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9Cit9
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2Ny
aXB0L1Rlc3RDYXNlcy8xNS41LjUuNS4yLTMtNS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41
LjUuNS4yLTMtNi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2
YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS41LjUuMi0zLTYuanMJKHJldmlzaW9uIDE5OTU0OSkKKysr
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjUuNS4y
LTMtNi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MSArMSw0MSBAQAotLy8vIENvcHlyaWdodCAo
YykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAN
Ci0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAN
Ci0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAN
Ci0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8v
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLS8qDQotMTUuNS41
LjIgZGVmaW5lcyBbW0dldE93blByb3BlcnR5XV0gZm9yIFN0cmluZ3MuIEl0IHN1cHBvcnRzIHVz
aW5nIGluZGV4aW5nDQotbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBu
YW1lcy4NCi0qLw0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS41
LjUuNS4yLTMtNiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjUv
MTUuNS41LjIvMTUuNS41LjUuMi0zLTYuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU3RyaW5nIHZh
bHVlIGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBudW1lcmljIGluZGV4IChOYU4p
IGlzIG5vdCBhbiBhcnJheSBpbmRleCIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
DQotICB2YXIgcyA9IFN0cmluZygiaGVsbG8gd29ybGQiKTsNCi0NCi0gIGlmIChzW05hTl0gPT09
IHVuZGVmaW5lZCkgew0KLSAgICByZXR1cm4gdHJ1ZTsNCi0gIH0NCi0gfQ0KLX0pOw0KKy8vLyBD
b3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisv
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworLyoKKzE1LjUuNS4yIGRlZmluZXMg
W1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGlu
Zworbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4KKyovCisK
KworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNS41LjUuMi0zLTYiLAorCitw
YXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41LzE1LjUuNS8xNS41LjUuMi8xNS41LjUuNS4y
LTMtNi5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiU3RyaW5nIHZhbHVlIGluZGV4aW5nIHJldHVybnMg
dW5kZWZpbmVkIGlmIHRoZSBudW1lcmljIGluZGV4IChOYU4pIGlzIG5vdCBhbiBhcnJheSBpbmRl
eCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgcyA9IFN0cmluZygiaGVs
bG8gd29ybGQiKTsKKworICBpZiAoc1tOYU5dID09PSB1bmRlZmluZWQpIHsKKyAgICByZXR1cm4g
dHJ1ZTsKKyAgfQorIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNS41LjItMy02LmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjUuNS41LjItMy03LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjUuNS4yLTMtNy5qcwkocmV2
aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjUuNS41LjItMy03LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQxICsxLDQxIEBA
Ci0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQot
Ly8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8g
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
DQotDQotLyoNCi0xNS41LjUuMiBkZWZpbmVzIFtbR2V0T3duUHJvcGVydHldXSBmb3IgU3RyaW5n
cy4gSXQgc3VwcG9ydHMgdXNpbmcgaW5kZXhpbmcNCi1ub3RhdGlvbiB0byBsb29rIHVwIG5vbiBu
dW1lcmljIHByb3BlcnR5IG5hbWVzLg0KLSovDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsNCi1pZDogIjE1LjUuNS41LjItMy03IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0
ZXIxNS8xNS41LzE1LjUuNS8xNS41LjUuMi8xNS41LjUuNS4yLTMtNy5qcyIsDQotDQotZGVzY3Jp
cHRpb246ICJTdHJpbmcgdmFsdWUgaW5kZXhpbmcgcmV0dXJucyB1bmRlZmluZWQgaWYgdGhlIG51
bWVyaWMgaW5kZXggKEluZmluaXR5KSBpcyBub3QgYW4gYXJyYXkgaW5kZXgiLA0KLQ0KLXRlc3Q6
IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIHMgPSBTdHJpbmcoImhlbGxvIHdvcmxkIik7
DQotDQotICBpZiAoc1tJbmZpbml0eV0gPT09IHVuZGVmaW5lZCkgew0KLSAgICByZXR1cm4gdHJ1
ZTsNCi0gIH0NCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
Ly8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKworLyoKKzE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdz
LiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZworbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVt
ZXJpYyBwcm9wZXJ0eSBuYW1lcy4KKyovCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsK
K2lkOiAiMTUuNS41LjUuMi0zLTciLAorCitwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS41
LzE1LjUuNS8xNS41LjUuMi8xNS41LjUuNS4yLTMtNy5qcyIsCisKK2Rlc2NyaXB0aW9uOiAiU3Ry
aW5nIHZhbHVlIGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBudW1lcmljIGluZGV4
IChJbmZpbml0eSkgaXMgbm90IGFuIGFycmF5IGluZGV4IiwKKwordGVzdDogZnVuY3Rpb24gdGVz
dGNhc2UoKSB7CisgIHZhciBzID0gU3RyaW5nKCJoZWxsbyB3b3JsZCIpOworCisgIGlmIChzW0lu
ZmluaXR5XSA9PT0gdW5kZWZpbmVkKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9Cit9KTsK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0
L1Rlc3RDYXNlcy8xNS41LjUuNS4yLTMtNy5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjUu
NS4yLTMtOC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNj
cmlwdC9UZXN0Q2FzZXMvMTUuNS41LjUuMi0zLTguanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjUuNS4yLTMt
OC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MSArMSw0MSBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLS8qDQotMTUuNS41LjIg
ZGVmaW5lcyBbW0dldE93blByb3BlcnR5XV0gZm9yIFN0cmluZ3MuIEl0IHN1cHBvcnRzIHVzaW5n
IGluZGV4aW5nDQotbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1l
cy4NCi0qLw0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS41LjUu
NS4yLTMtOCIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjUvMTUu
NS41LjIvMTUuNS41LjUuMi0zLTguanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU3RyaW5nIHZhbHVl
IGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBudW1lcmljIGluZGV4ICggPj0gMl4z
Mi0xKSBpcyBub3QgYW4gYXJyYXkgaW5kZXgiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNl
KCkgew0KLSAgdmFyIHMgPSBTdHJpbmcoImhlbGxvIHdvcmxkIik7DQotDQotICBpZiAoc1tNYXRo
LnBvdygyLCAzMiktMV09PT11bmRlZmluZWQpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQot
IH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAK
Ky8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
CisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYK
Ky8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKy8qCisx
NS41LjUuMiBkZWZpbmVzIFtbR2V0T3duUHJvcGVydHldXSBmb3IgU3RyaW5ncy4gSXQgc3VwcG9y
dHMgdXNpbmcgaW5kZXhpbmcKK25vdGF0aW9uIHRvIGxvb2sgdXAgbm9uIG51bWVyaWMgcHJvcGVy
dHkgbmFtZXMuCisqLworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjUu
NS41LjItMy04IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjUvMTUu
NS41LjIvMTUuNS41LjUuMi0zLTguanMiLAorCitkZXNjcmlwdGlvbjogIlN0cmluZyB2YWx1ZSBp
bmRleGluZyByZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgbnVtZXJpYyBpbmRleCAoID49IDJeMzIt
MSkgaXMgbm90IGFuIGFycmF5IGluZGV4IiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7
CisgIHZhciBzID0gU3RyaW5nKCJoZWxsbyB3b3JsZCIpOworCisgIGlmIChzW01hdGgucG93KDIs
IDMyKS0xXT09PXVuZGVmaW5lZCkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfQorfSk7CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuNS41LjUuMi0zLTguanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHls
ZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS41LjUu
Mi03LTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3Jp
cHQvVGVzdENhc2VzLzE1LjUuNS41LjItNy0xLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlv
dXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS41LjUuMi03LTEu
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDEgKzEsNDEgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQot
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0vKg0KLTE1LjUuNS4yIGRl
ZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBp
bmRleGluZw0KLW5vdGF0aW9uIHRvIGxvb2sgdXAgbm9uIG51bWVyaWMgcHJvcGVydHkgbmFtZXMu
DQotKi8NCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNS41LjUu
Mi03LTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS41LzE1LjUu
NS4yLzE1LjUuNS41LjItNy0xLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIlN0cmluZyBvYmplY3Qg
aW5kZXhpbmcgcmV0dXJucyB1bmRlZmluZWQgaWYgdGhlIG51bWVyaWMgaW5kZXggaXMgbGVzcyB0
aGFuIDAiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFyIHMgPSBuZXcg
U3RyaW5nKCJoZWxsbyB3b3JsZCIpOw0KLQ0KLSAgaWYgKHNbLTFdID09PSB1bmRlZmluZWQpIHsN
Ci0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAy
MDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQor
Ly8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisKKy8qCisxNS41LjUuMiBkZWZpbmVzIFtbR2V0T3duUHJvcGVy
dHldXSBmb3IgU3RyaW5ncy4gSXQgc3VwcG9ydHMgdXNpbmcgaW5kZXhpbmcKK25vdGF0aW9uIHRv
IGxvb2sgdXAgbm9uIG51bWVyaWMgcHJvcGVydHkgbmFtZXMuCisqLworCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjUuNS41LjItNy0xIiwKKworcGF0aDogIlRlc3RDYXNl
cy9jaGFwdGVyMTUvMTUuNS8xNS41LjUvMTUuNS41LjIvMTUuNS41LjUuMi03LTEuanMiLAorCitk
ZXNjcmlwdGlvbjogIlN0cmluZyBvYmplY3QgaW5kZXhpbmcgcmV0dXJucyB1bmRlZmluZWQgaWYg
dGhlIG51bWVyaWMgaW5kZXggaXMgbGVzcyB0aGFuIDAiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsKKyAgdmFyIHMgPSBuZXcgU3RyaW5nKCJoZWxsbyB3b3JsZCIpOworCisgIGlmIChz
Wy0xXSA9PT0gdW5kZWZpbmVkKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9Cit9KTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rl
c3RDYXNlcy8xNS41LjUuNS4yLTctMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjUuNS4y
LTctMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlw
dC9UZXN0Q2FzZXMvMTUuNS41LjUuMi03LTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91
dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjUuNS4yLTctMi5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw0MSArMSw0MSBAQAotLy8vIENvcHlyaWdodCAoYykgMjAw
OSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8g
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8g
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0v
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLS8qDQotMTUuNS41LjIgZGVm
aW5lcyBbW0dldE93blByb3BlcnR5XV0gZm9yIFN0cmluZ3MuIEl0IHN1cHBvcnRzIHVzaW5nIGlu
ZGV4aW5nDQotbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4N
Ci0qLw0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS41LjUuNS4y
LTctMiIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8xNS41LjUvMTUuNS41
LjIvMTUuNS41LjUuMi03LTIuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiU3RyaW5nIHZhbHVlIGlu
ZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBudW1lcmljIGluZGV4IGlzIGxlc3MgdGhh
biAwIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBzID0gU3RyaW5n
KCJoZWxsbyB3b3JsZCIpOw0KLQ0KLSAgaWYgKHNbLTFdID09PSB1bmRlZmluZWQpIHsNCi0gICAg
cmV0dXJuIHRydWU7DQotICB9DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
CisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8v
LyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisKKy8qCisxNS41LjUuMiBkZWZpbmVzIFtbR2V0T3duUHJvcGVydHldXSBm
b3IgU3RyaW5ncy4gSXQgc3VwcG9ydHMgdXNpbmcgaW5kZXhpbmcKK25vdGF0aW9uIHRvIGxvb2sg
dXAgbm9uIG51bWVyaWMgcHJvcGVydHkgbmFtZXMuCisqLworCisKK0VTNUhhcm5lc3MucmVnaXN0
ZXJUZXN0KCB7CitpZDogIjE1LjUuNS41LjItNy0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuNS8xNS41LjUvMTUuNS41LjIvMTUuNS41LjUuMi03LTIuanMiLAorCitkZXNjcmlw
dGlvbjogIlN0cmluZyB2YWx1ZSBpbmRleGluZyByZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgbnVt
ZXJpYyBpbmRleCBpcyBsZXNzIHRoYW4gMCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkg
eworICB2YXIgcyA9IFN0cmluZygiaGVsbG8gd29ybGQiKTsKKworICBpZiAoc1stMV0gPT09IHVu
ZGVmaW5lZCkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
NS41LjUuMi03LTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsx
ICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS41LjUuMi03LTMuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjUuNS41LjItNy0zLmpzCShyZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRl
c3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNS41LjUuMi03LTMuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNDEgKzEsNDEgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0
IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
Uw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0K
LS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0vKg0KLTE1LjUuNS4yIGRlZmluZXMgW1tHZXRP
d25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KLW5v
dGF0aW9uIHRvIGxvb2sgdXAgbm9uIG51bWVyaWMgcHJvcGVydHkgbmFtZXMuDQotKi8NCi0NCi0N
Ci1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0KLWlkOiAiMTUuNS41LjUuMi03LTMiLA0KLQ0K
LXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41
LjItNy0zLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIlN0cmluZyBvYmplY3QgaW5kZXhpbmcgcmV0
dXJucyB1bmRlZmluZWQgaWYgdGhlIG51bWVyaWMgaW5kZXggaXMgZ3JlYXRlciB0aGFuIHRoZSBz
dHJpbmcgbGVuZ3RoIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBz
ID0gbmV3IFN0cmluZygiaGVsbG8gd29ybGQiKTsNCi0NCi0gIGlmIChzWzExXSA9PT0gdW5kZWZp
bmVkKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9DQotfSk7DQorLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisvLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKKy8v
LyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIAorLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8vLyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisvKgorMTUuNS41LjIgZGVmaW5lcyBbW0dldE93
blByb3BlcnR5XV0gZm9yIFN0cmluZ3MuIEl0IHN1cHBvcnRzIHVzaW5nIGluZGV4aW5nCitub3Rh
dGlvbiB0byBsb29rIHVwIG5vbiBudW1lcmljIHByb3BlcnR5IG5hbWVzLgorKi8KKworCitFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS41LjUuNS4yLTctMyIsCisKK3BhdGg6ICJU
ZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItNy0zLmpz
IiwKKworZGVzY3JpcHRpb246ICJTdHJpbmcgb2JqZWN0IGluZGV4aW5nIHJldHVybnMgdW5kZWZp
bmVkIGlmIHRoZSBudW1lcmljIGluZGV4IGlzIGdyZWF0ZXIgdGhhbiB0aGUgc3RyaW5nIGxlbmd0
aCIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIgcyA9IG5ldyBTdHJpbmco
ImhlbGxvIHdvcmxkIik7CisKKyAgaWYgKHNbMTFdID09PSB1bmRlZmluZWQpIHsKKyAgICByZXR1
cm4gdHJ1ZTsKKyAgfQorIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjUuNS41LjItNy0zLmpzCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFz
Y3JpcHQvVGVzdENhc2VzLzE1LjUuNS41LjItNy00LmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS41LjUuNS4yLTctNC5qcwko
cmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjUuNS41LjItNy00LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQxICsxLDQx
IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi0vLy8g
DQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0v
Ly8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9z
b2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8v
LyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQot
Ly8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8gSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gDQotDQotLyoNCi0xNS41LjUuMiBkZWZpbmVzIFtbR2V0T3duUHJvcGVydHldXSBmb3IgU3Ry
aW5ncy4gSXQgc3VwcG9ydHMgdXNpbmcgaW5kZXhpbmcNCi1ub3RhdGlvbiB0byBsb29rIHVwIG5v
biBudW1lcmljIHByb3BlcnR5IG5hbWVzLg0KLSovDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsNCi1pZDogIjE1LjUuNS41LjItNy00IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2No
YXB0ZXIxNS8xNS41LzE1LjUuNS8xNS41LjUuMi8xNS41LjUuNS4yLTctNC5qcyIsDQotDQotZGVz
Y3JpcHRpb246ICJTdHJpbmcgdmFsdWUgaW5kZXhpbmcgcmV0dXJucyB1bmRlZmluZWQgaWYgdGhl
IG51bWVyaWMgaW5kZXggaXMgZ3JlYXRlciB0aGFuIHRoZSBzdHJpbmcgbGVuZ3RoIiwNCi0NCi10
ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBzID0gU3RyaW5nKCJoZWxsbyB3b3Js
ZCIpOw0KLQ0KLSAgaWYgKHNbMTFdID09PSB1bmRlZmluZWQpIHsNCi0gICAgcmV0dXJuIHRydWU7
DQotICB9DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8v
LyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisKKy8qCisxNS41LjUuMiBkZWZpbmVzIFtbR2V0T3duUHJvcGVydHldXSBmb3IgU3RyaW5ncy4g
SXQgc3VwcG9ydHMgdXNpbmcgaW5kZXhpbmcKK25vdGF0aW9uIHRvIGxvb2sgdXAgbm9uIG51bWVy
aWMgcHJvcGVydHkgbmFtZXMuCisqLworCisKK0VTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7Citp
ZDogIjE1LjUuNS41LjItNy00IiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNS8x
NS41LjUvMTUuNS41LjIvMTUuNS41LjUuMi03LTQuanMiLAorCitkZXNjcmlwdGlvbjogIlN0cmlu
ZyB2YWx1ZSBpbmRleGluZyByZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgbnVtZXJpYyBpbmRleCBp
cyBncmVhdGVyIHRoYW4gdGhlIHN0cmluZyBsZW5ndGgiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0
Y2FzZSgpIHsKKyAgdmFyIHMgPSBTdHJpbmcoImhlbGxvIHdvcmxkIik7CisKKyAgaWYgKHNbMTFd
ID09PSB1bmRlZmluZWQpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0KK30pOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjUuNS41LjItNy00LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMg
LTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjcuMy0xLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS43LjMtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjcuMy0xLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDM0ICsxLDM0IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlv
biANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8gICAg
ICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4N
Ci0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0vLy8g
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8gRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDogIjE1
LjcuMy0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS43LzE1LjcuMy8xNS43
LjMtMS5qcyIsDQotDQotZGVzY3JpcHRpb246ICJOdW1iZXIgY29uc3RydWN0b3IgLSBbW1Byb3Rv
dHlwZV1dIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IiwNCi0NCi10ZXN0OiBmdW5j
dGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmIChGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVP
ZihOdW1iZXIpID09PSB0cnVlKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9DQotfSk7
DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8gCisv
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8vIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKy8v
LyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8gQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjcuMy0xIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFw
dGVyMTUvMTUuNy8xNS43LjMvMTUuNy4zLTEuanMiLAorCitkZXNjcmlwdGlvbjogIk51bWJlciBj
b25zdHJ1Y3RvciAtIFtbUHJvdG90eXBlXV0gaXMgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmpl
Y3QiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgaWYgKEZ1bmN0aW9uLnByb3Rv
dHlwZS5pc1Byb3RvdHlwZU9mKE51bWJlcikgPT09IHRydWUpIHsKKyAgICByZXR1cm4gdHJ1ZTsK
KyAgfQorIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2Vu
dGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjcuMy0xLmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2Vz
LzE1LjcuMy0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS43LjMtMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0
VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjcuMy0yLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDM5ICsxLDM5IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jv
c29mdCBDb3Jwb3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogDQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQNCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1INCi0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MNCi0vLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUNCi0vLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQot
Ly8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRl
c3QoIHsNCi1pZDogIjE1LjcuMy0yIiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8x
NS43LzE1LjcuMy8xNS43LjMtMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJOdW1iZXIgY29uc3Ry
dWN0b3IgLSBbW1Byb3RvdHlwZV1dIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0ICh1
c2luZyBnZXRQcm90b3R5cGVPZikiLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0K
LSAgdmFyIHAgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoTnVtYmVyKTsNCi0gIGlmIChwID09PSBG
dW5jdGlvbi5wcm90b3R5cGUpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0sDQotDQot
cHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2Jq
ZWN0LmdldFByb3RvdHlwZU9mKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkg
TWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwor
Ly8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS43
LjMtMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjcvMTUuNy4zLzE1LjcuMy0y
LmpzIiwKKworZGVzY3JpcHRpb246ICJOdW1iZXIgY29uc3RydWN0b3IgLSBbW1Byb3RvdHlwZV1d
IGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0ICh1c2luZyBnZXRQcm90b3R5cGVPZiki
LAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIHAgPSBPYmplY3QuZ2V0UHJv
dG90eXBlT2YoTnVtYmVyKTsKKyAgaWYgKHAgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgeworICAg
IHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEo
KSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0UHJvdG90eXBlT2YpOworIH0KK30pOwoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQv
VGVzdENhc2VzLzE1LjcuMy0yLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMg
LTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjcuMy4xLTEuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENh
c2VzLzE1LjcuMy4xLTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS43LjMuMS0xLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDQyICsxLDQyIEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDog
DQotLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IN
Ci0vLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0v
Ly8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1p
ZDogIjE1LjcuMy4xLTEiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjcvMTUu
Ny4zLzE1LjcuMy4xLzE1LjcuMy4xLTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAiTnVtYmVyLnBy
b3RvdHlwZSBpcyBhIGRhdGEgcHJvcGVydHkgd2l0aCBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZXMg
KGZhbHNlKSIsDQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZCA9IE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLCAncHJvdG90eXBlJyk7DQotICAN
Ci0gIGlmIChkLndyaXRhYmxlID09PSBmYWxzZSAmJg0KLSAgICAgIGQuZW51bWVyYWJsZSA9PT0g
ZmFsc2UgJiYNCi0gICAgICBkLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHsNCi0gICAgcmV0dXJu
IHRydWU7DQotICB9DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7
DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7DQot
IH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAK
Ky8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
CisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAg
ICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYK
Ky8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1
SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuNy4zLjEtMSIsCisKK3BhdGg6ICJUZXN0
Q2FzZXMvY2hhcHRlcjE1LzE1LjcvMTUuNy4zLzE1LjcuMy4xLzE1LjcuMy4xLTEuanMiLAorCitk
ZXNjcmlwdGlvbjogIk51bWJlci5wcm90b3R5cGUgaXMgYSBkYXRhIHByb3BlcnR5IHdpdGggZGVm
YXVsdCBhdHRyaWJ1dGUgdmFsdWVzIChmYWxzZSkiLAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2Fz
ZSgpIHsKKyAgdmFyIGQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE51bWJlciwg
J3Byb3RvdHlwZScpOworICAKKyAgaWYgKGQud3JpdGFibGUgPT09IGZhbHNlICYmCisgICAgICBk
LmVudW1lcmFibGUgPT09IGZhbHNlICYmCisgICAgICBkLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2Up
IHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24g
cHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcik7CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3Rj
ZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNy4zLjEtMS5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS43LjMuMS0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS43LjMuMS0yLmpzCShyZXZpc2lvbiAxOTk1NDkpCisr
KyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNy4zLjEt
Mi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENvcHlyaWdodCAoYykg
MjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0v
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0v
Ly8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0v
Ly8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MN
Ci0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3Mu
cmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS43LjMuMS0yIiwNCi0NCi1wYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS43LzE1LjcuMy8xNS43LjMuMS8xNS43LjMuMS0yLmpzIiwNCi0NCi1kZXNj
cmlwdGlvbjogIk51bWJlci5wcm90b3R5cGUsIGluaXRpYWwgdmFsdWUgaXMgdGhlIE51bWJlciBw
cm90b3R5cGUgb2JqZWN0IiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIC8v
IGFzc3VtZSB0aGF0IE51bWJlci5wcm90b3R5cGUgaGFzIG5vdCBiZWVuIG1vZGlmaWVkLg0KLSAg
cmV0dXJuIE9iamVjdC5nZXRQcm90b3R5cGVPZihuZXcgTnVtYmVyKDQyKSk9PT1OdW1iZXIucHJv
dG90eXBlOw0KLSB9LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAg
cmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRQcm90b3R5cGVPZik7DQotIH0NCi0NCi19KTsNCisv
Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdp
c3RlclRlc3QoIHsKK2lkOiAiMTUuNy4zLjEtMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjcvMTUuNy4zLzE1LjcuMy4xLzE1LjcuMy4xLTIuanMiLAorCitkZXNjcmlwdGlvbjog
Ik51bWJlci5wcm90b3R5cGUsIGluaXRpYWwgdmFsdWUgaXMgdGhlIE51bWJlciBwcm90b3R5cGUg
b2JqZWN0IiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIC8vIGFzc3VtZSB0aGF0
IE51bWJlci5wcm90b3R5cGUgaGFzIG5vdCBiZWVuIG1vZGlmaWVkLgorICByZXR1cm4gT2JqZWN0
LmdldFByb3RvdHlwZU9mKG5ldyBOdW1iZXIoNDIpKT09PU51bWJlci5wcm90b3R5cGU7CisgfSwK
KworcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhP
YmplY3QuZ2V0UHJvdG90eXBlT2YpOworIH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNy4zLjEtMi5q
cwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS43LjQtMS5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNy40LTEuanMJKHJldmlz
aW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RD
YXNlcy8xNS43LjQtMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOSArMSwzOSBAQAotLy8vIENv
cHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYN
Ci0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0K
LUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS43LjQtMSIsDQotDQotcGF0aDog
IlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNy8xNS43LjMvMTUuNy40LzE1LjcuNC0xLmpzIiwNCi0N
Ci1kZXNjcmlwdGlvbjogIk51bWJlciBwcm90b3R5cGUgb2JqZWN0OiBpdHMgW1tDbGFzc11dIG11
c3QgYmUgJ051bWJlciciLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAgdmFy
IG51bVByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKG5ldyBOdW1iZXIoNDIpKTsNCi0gIHZh
ciBzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG51bVByb3RvICk7DQotICByZXR1
cm4gKHMgPT09ICdbb2JqZWN0IE51bWJlcl0nKSA7DQotIH0sDQotDQotcHJlY29uZGl0aW9uOiBm
dW5jdGlvbiBwcmVyZXEoKSB7DQotICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldFByb3RvdHlw
ZU9mKTsNCi0gfQ0KLQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAK
Ky8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
Ly8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS43LjQtMSIsCisKK3Bh
dGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjcvMTUuNy4zLzE1LjcuNC8xNS43LjQtMS5qcyIs
CisKK2Rlc2NyaXB0aW9uOiAiTnVtYmVyIHByb3RvdHlwZSBvYmplY3Q6IGl0cyBbW0NsYXNzXV0g
bXVzdCBiZSAnTnVtYmVyJyIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICB2YXIg
bnVtUHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YobmV3IE51bWJlcig0MikpOworICB2YXIg
cyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChudW1Qcm90byApOworICByZXR1cm4g
KHMgPT09ICdbb2JqZWN0IE51bWJlcl0nKSA7CisgfSwKKworcHJlY29uZGl0aW9uOiBmdW5jdGlv
biBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhPYmplY3QuZ2V0UHJvdG90eXBlT2YpOwor
IH0KKworfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIv
SmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuNy40LTEuanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUu
OS40LjQtMC0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS45LjQuNC0wLTEuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS45LjQuNC0wLTEu
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzUgKzEsMzUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIw
MDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUgbWV0OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8v
ICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8v
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUg0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUw0KLS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQ0KLS8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QNCi0vLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQot
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJl
Z2lzdGVyVGVzdCggew0KLWlkOiAiMTUuOS40LjQtMC0xIiwNCi0NCi1wYXRoOiAiVGVzdENhc2Vz
L2NoYXB0ZXIxNS8xNS45LzE1LjkuNC8xNS45LjQuNC8xNS45LjQuNC0wLTEuanMiLA0KLQ0KLWRl
c2NyaXB0aW9uOiAiRGF0ZS5ub3cgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIiwNCi0NCi10ZXN0
OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIHZhciBmID0gRGF0ZS5ub3c7DQotICBpZiAodHlw
ZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9DQot
fSk7DQorLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCisvLy8g
CisvLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAorLy8vICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKy8vLyAgICAgIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCAKKy8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gIAorLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCisvLy8gICAgICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLy8gCisvLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUgorLy8vIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisvLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKy8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKy8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwK
Ky8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisvLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisKK0VTNUhhcm5l
c3MucmVnaXN0ZXJUZXN0KCB7CitpZDogIjE1LjkuNC40LTAtMSIsCisKK3BhdGg6ICJUZXN0Q2Fz
ZXMvY2hhcHRlcjE1LzE1LjkvMTUuOS40LzE1LjkuNC40LzE1LjkuNC40LTAtMS5qcyIsCisKK2Rl
c2NyaXB0aW9uOiAiRGF0ZS5ub3cgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIiwKKwordGVzdDog
ZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZhciBmID0gRGF0ZS5ub3c7CisgIGlmICh0eXBlb2Yo
ZikgPT09ICJmdW5jdGlvbiIpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0KK30pOwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjkuNC40LTAtMS5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMj
IC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS45LjQuNC0wLTIu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVz
dENhc2VzLzE1LjkuNC40LTAtMi5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMv
aWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjkuNC40LTAtMi5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBAQAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3Nv
ZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
DQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8v
LyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0
KCB7DQotaWQ6ICIxNS45LjQuNC0wLTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1
LzE1LjkvMTUuOS40LzE1LjkuNC40LzE1LjkuNC40LTAtMi5qcyIsDQotDQotZGVzY3JpcHRpb246
ICJEYXRlLm5vdyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDAgcGFyYW1ldGVycyIs
DQotDQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBpZiAoRGF0ZS5ub3cubGVuZ3Ro
ID09PSAwKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0KLQ0KLXByZWNvbmRpdGlv
bjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3RzKERhdGUubm93KTsNCi0g
fQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAor
Ly8vIAorLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQK
Ky8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIAorLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICAKKy8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAg
ICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisvLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksCisvLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgor
Ly8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVI
YXJuZXNzLnJlZ2lzdGVyVGVzdCggeworaWQ6ICIxNS45LjQuNC0wLTIiLAorCitwYXRoOiAiVGVz
dENhc2VzL2NoYXB0ZXIxNS8xNS45LzE1LjkuNC8xNS45LjQuNC8xNS45LjQuNC0wLTIuanMiLAor
CitkZXNjcmlwdGlvbjogIkRhdGUubm93IG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcg
MCBwYXJhbWV0ZXJzIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGlmIChEYXRl
Lm5vdy5sZW5ndGggPT09IDApIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorIH0sCisKK3ByZWNv
bmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5FeGlzdHMoRGF0ZS5ub3cp
OworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVy
L0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjkuNC40LTAtMi5qcwpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNl
cy8xNS45LjUuNDMtMC0xLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS45LjUuNDMtMC0xLmpzCShyZXZpc2lvbiAxOTk1NDkp
CisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuOS41
LjQzLTAtMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzNSArMSwzNSBAQAotLy8vIENvcHlyaWdo
dCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0KLS8vLyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8vIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
ICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8gICAgICBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8vLyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQot
Ly8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi0vLy8g
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLQ0KLQ0KLUVTNUhh
cm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS45LjUuNDMtMC0xIiwNCi0NCi1wYXRoOiAi
VGVzdENhc2VzL2NoYXB0ZXIxNS8xNS45LzE1LjkuNS8xNS45LjUuNDMvMTUuOS41LjQzLTAtMS5q
cyIsDQotDQotZGVzY3JpcHRpb246ICJEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZyBtdXN0IGV4
aXN0IGFzIGEgZnVuY3Rpb24iLA0KLQ0KLXRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KLSAg
dmFyIGYgPSBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZzsNCi0gIGlmICh0eXBlb2YoZikgPT09
ICJmdW5jdGlvbiIpIHsNCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotIH0NCi19KTsNCisvLy8g
Q29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3Rl
clRlc3QoIHsKK2lkOiAiMTUuOS41LjQzLTAtMSIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRl
cjE1LzE1LjkvMTUuOS41LzE1LjkuNS40My8xNS45LjUuNDMtMC0xLmpzIiwKKworZGVzY3JpcHRp
b246ICJEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24i
LAorCit0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKKyAgdmFyIGYgPSBEYXRlLnByb3RvdHlw
ZS50b0lTT1N0cmluZzsKKyAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgeworICAgIHJl
dHVybiB0cnVlOworICB9CisgfQorfSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuOS41LjQzLTAtMS5qcwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK0xGClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZh
c2NyaXB0L1Rlc3RDYXNlcy8xNS45LjUuNDMtMC0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS45LjUuNDMtMC0yLmpzCShy
ZXZpc2lvbiAxOTk1NDkpCisrKyBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9U
ZXN0Q2FzZXMvMTUuOS41LjQzLTAtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzOCBA
QAotLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQotLy8vIA0K
LS8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQotLy8v
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLS8vLyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCANCi0vLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uICANCi0vLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29m
dCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi0vLy8g
ICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotLy8vIA0KLS8v
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQotLy8vIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQotLy8vIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQotLy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLS8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MNCi0vLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksDQotLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYNCi0vLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IA0KLQ0KLQ0KLUVTNUhhcm5lc3MucmVnaXN0ZXJUZXN0KCB7DQotaWQ6ICIxNS45LjUuNDMtMC0y
IiwNCi0NCi1wYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS45LzE1LjkuNS8xNS45LjUuNDMv
MTUuOS41LjQzLTAtMi5qcyIsDQotDQotZGVzY3JpcHRpb246ICJEYXRlLnByb3RvdHlwZS50b0lT
T1N0cmluZyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDAgcGFyYW1ldGVycyIsDQot
DQotdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICBpZiAoRGF0ZS5wcm90b3R5cGUudG9J
U09TdHJpbmcubGVuZ3RoID09PSAwKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9LA0K
LQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhpc3Rz
KERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nKTsNCi0gfQ0KLX0pOw0KKy8vLyBDb3B5cmlnaHQg
KGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIAorLy8vIAorLy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKKy8vLyB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kCisvLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorLy8v
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgCisvLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICAKKy8vLyAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorLy8vIAorLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IKKy8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUworLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisvLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisv
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLy8gSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisvLy8gT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworCitFUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggewor
aWQ6ICIxNS45LjUuNDMtMC0yIiwKKworcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuOS8x
NS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTIuanMiLAorCitkZXNjcmlwdGlvbjogIkRhdGUu
cHJvdG90eXBlLnRvSVNPU3RyaW5nIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMCBw
YXJhbWV0ZXJzIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIGlmIChEYXRlLnBy
b3RvdHlwZS50b0lTT1N0cmluZy5sZW5ndGggPT09IDApIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAg
fQorIH0sCisKK3ByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgeworICByZXR1cm4gZm5F
eGlzdHMoRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcpOworIH0KK30pOwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1
LjkuNS40My0wLTIuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsx
ICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMvMTUuOS41LjQ0LTAtMS5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC9UZXN0Q2FzZXMv
MTUuOS41LjQ0LTAtMS5qcwkocmV2aXNpb24gMTk5NTQ5KQorKysgTGF5b3V0VGVzdHMvaWV0ZXN0
Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjkuNS40NC0wLTEuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMzUgKzEsMzUgQEAKLS8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENv
cnBvcmF0aW9uIA0KLS8vLyANCi0vLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZA0KLS8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OiANCi0vLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0K
LS8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQotLy8vICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQotLy8vICAgICAgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQotLy8vICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvDQotLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLg0KLS8vLyANCi0vLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
Ug0KLS8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0K
LS8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLS8v
LyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi0vLy8gTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotLy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLS8vLyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQotLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiANCi0NCi0NCi1FUzVIYXJuZXNzLnJlZ2lzdGVyVGVzdCggew0K
LWlkOiAiMTUuOS41LjQ0LTAtMSIsDQotDQotcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUu
OS8xNS45LjUvMTUuOS41LjQ0LzE1LjkuNS40NC0wLTEuanMiLA0KLQ0KLWRlc2NyaXB0aW9uOiAi
RGF0ZS5wcm90b3R5cGUudG9KU09OIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiIsDQotDQotdGVz
dDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQotICB2YXIgZiA9IERhdGUucHJvdG90eXBlLnRvSlNP
TjsNCi0gIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCi0gICAgcmV0dXJuIHRydWU7
DQotICB9DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jw
b3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogCisv
Ly8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8v
LyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisvLy8gSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKy8vLyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8vIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8vIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lkOiAiMTUuOS41LjQ0LTAtMSIsCisK
K3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjkvMTUuOS41LzE1LjkuNS40NC8xNS45LjUu
NDQtMC0xLmpzIiwKKworZGVzY3JpcHRpb246ICJEYXRlLnByb3RvdHlwZS50b0pTT04gbXVzdCBl
eGlzdCBhcyBhIGZ1bmN0aW9uIiwKKwordGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CisgIHZh
ciBmID0gRGF0ZS5wcm90b3R5cGUudG9KU09OOworICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rp
b24iKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyB9Cit9KTsKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS45LjUu
NDQtMC0xLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIwor
TEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaWV0
ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjkuNS40NC0wLTIuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1Ljku
NS40NC0wLTIuanMJKHJldmlzaW9uIDE5OTU0OSkKKysrIExheW91dFRlc3RzL2lldGVzdGNlbnRl
ci9KYXZhc2NyaXB0L1Rlc3RDYXNlcy8xNS45LjUuNDQtMC0yLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDM4ICsxLDM4IEBACi0vLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbiANCi0vLy8gDQotLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQNCi0vLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQot
Ly8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi0vLy8g
ICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLS8vLyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLS8vLyAgICAgIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLS8vLyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0bw0KLS8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4NCi0vLy8gDQotLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi0v
Ly8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi0vLy8g
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi0vLy8gRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQotLy8vIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLS8vLyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi0vLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLS8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gDQotDQotDQotRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsNCi1pZDog
IjE1LjkuNS40NC0wLTIiLA0KLQ0KLXBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjkvMTUu
OS41LzE1LjkuNS40NC8xNS45LjUuNDQtMC0yLmpzIiwNCi0NCi1kZXNjcmlwdGlvbjogIkRhdGUu
cHJvdG90eXBlLnRvSlNPTiBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDEgcGFyYW1l
dGVyIiwNCi0NCi10ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCi0gIGlmIChEYXRlLnByb3Rv
dHlwZS50b0pTT04ubGVuZ3RoID09PSAxKSB7DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLSB9
LA0KLQ0KLXByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgew0KLSAgcmV0dXJuIGZuRXhp
c3RzKERhdGUucHJvdG90eXBlLnRvSlNPTik7DQotIH0NCi19KTsNCisvLy8gQ29weXJpZ2h0IChj
KSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiAKKy8vLyAKKy8vLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisvLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDogCisvLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZAorLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKy8vLyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIAorLy8vICAg
ICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCisvLy8gICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8KKy8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKy8vLyAKKy8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SCisvLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKy8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RQorLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8v
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorLy8vIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKy8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisKKworRVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKK2lk
OiAiMTUuOS41LjQ0LTAtMiIsCisKK3BhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjkvMTUu
OS41LzE1LjkuNS40NC8xNS45LjUuNDQtMC0yLmpzIiwKKworZGVzY3JpcHRpb246ICJEYXRlLnBy
b3RvdHlwZS50b0pTT04gbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRl
ciIsCisKK3Rlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeworICBpZiAoRGF0ZS5wcm90b3R5cGUu
dG9KU09OLmxlbmd0aCA9PT0gMSkgeworICAgIHJldHVybiB0cnVlOworICB9CisgfSwKKworcHJl
Y29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CisgIHJldHVybiBmbkV4aXN0cyhEYXRlLnBy
b3RvdHlwZS50b0pTT04pOworIH0KK30pOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaWV0ZXN0Y2VudGVyL0phdmFzY3JpcHQvVGVzdENhc2VzLzE1LjkuNS40NC0wLTIuanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCitMRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5Cg==
</data>
<flag name="review"
          id="300717"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>